当前位置: 首页 > 知识库问答 >
问题:

AWS Lambda:调用调用API操作失败,出现以下消息:网络错误

林博厚
2023-03-14

我创建了一个lambda,它迭代给定S3 bucket中的所有文件,并删除S3 bucket中的文件。S3存储桶有大约100K个文件,我正在选择并删除大约60K个文件。我已将lambda的超时设置为最大(15分钟)超时值。lambda在几分钟后始终返回“网络错误”,尽管它似乎在后台运行了一段时间,甚至在返回错误后也是如此。你怎么能绕过这个?

共有2个答案

堵茂勋
2023-03-14

解决方案是创建另一个函数,并查看节流阀是否出现该错误。

鲁彬炳
2023-03-14

S3具有速率限制,它限制您每秒可以执行的读取和写入次数。

Amazon S3会自动扩展到高请求率。例如,您的应用程序可以在存储桶中的每个前缀每秒至少实现3,500个PUT/POST/DELETE和5,500个GET请求。存储桶中的前缀数量没有限制。以指数方式提高您的读取或写入性能很简单。例如,如果您在Amazon S3存储桶中创建10个前缀以并行化读取,您可以将读取性能扩展到每秒55,000个读取请求。

如果所有这些对象的键(文件路径)中都有相同的8个字符,那么它们的前缀相同,并且限制为3,500个DELETE和5,500个GET。如果是这种情况并且您需要定期这样做,请考虑更改前缀,以便键的前8个字符不同,迫使对象分布在更多节点上。我之前的一个答案对此进行了更详细的说明。

或者,您可以使用批量删除操作,每个操作最多删除1000个对象。

您看到的延迟可能是由于S3在该地区的AZs之间同步时的最终一致性。

Amazon S3为所有区域的覆盖PUTS和DELETES提供最终一致性。

 类似资料:
  • 我使用请求编写了一个简单的API调用,执行调用时出现错误400。谁能告诉我哪里出了问题?谢谢你的帮助。这是我写的代码-

  • 任务:应用程序:安装调试失败31个可操作的任务:31个已执行注意:C:\用户\Bst 305\ReactNativeDsr\android\app\src\debug\java\com\reactnativedsr\ReactNativeFlipper.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:有关详细信息的弃用。 失败:构建失败,但有一个异常。 错误:任务:app:ins

  • 我在我的公司网络上建立Docker图像时遇到了问题。我刚刚开始使用Docker,所以我有以下用于hello-world类型应用程序的Dockerfile: 当我在家里的笔记本电脑上,在我自己的无线网络上构建它时,这很好用。它拉下必要的依赖关系,并正确地构建映像。 我没有网络技术来弄清楚这里发生了什么。有人知道为什么在构建Docker容器时会出现这种奇怪的行为吗?

  • 问题内容: 我在公司网络上构建Docker映像时遇到问题。我刚刚开始使用Docker,因此我有一个用于hello-world类型应用程序的以下Dockerfile: 当我在家中通过自己的无线网络在笔记本电脑上构建笔记本电脑时,这种方法效果很好。它拉下必要的依赖关系并正确构建映像。 但是,当我在公司网络上工作时,尝试从download.fedoraproject.org拉下RPM时,此同一个Dock

  • Android派(android-9.0.0_r16) 构建:PQ1A.181105.017. A1 设备:像素 2 我正在尝试使用 dhcp 工具(重命名为 dhcpdbg)将蜂窝调制解调器与 RNDIS 模式下的Android 9 派连接。相同的设置对于以前版本的机器人工作正常,但对于Pie,它在ioctl(3,SIOCADDRT,0x7ffb9b8030)上失败。它说“网络无法访问”。 我已

  • 我想使用ejb和jpa控制器,在netbeans中,控制器是自动生成的。。。我尝试从会话bean无状态的类(UniversidadServiceEJB)调用jpa控制器,我调试了项目,成功创建了UserTransaction和EntityManagerFactory,但调用方法utx时。在jpa控制器(University jpa控制器)中开始引发以下异常: JAVAlang.IllegalSta