Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AWS Lambda:调用调用API操作失败,消息为:网络错误_Python_Amazon Web Services_Amazon S3_Aws Lambda_Boto3 - Fatal编程技术网

Python AWS Lambda:调用调用API操作失败,消息为:网络错误

Python AWS Lambda:调用调用API操作失败,消息为:网络错误,python,amazon-web-services,amazon-s3,aws-lambda,boto3,Python,Amazon Web Services,Amazon S3,Aws Lambda,Boto3,我创建了一个lambda,它迭代给定S3 bucket中的所有文件,并删除S3 bucket中的文件。S3存储桶有大约100K个文件,我正在选择并删除大约60K个文件。我已将lambda的超时设置为最大(15分钟)超时值。lambda在几分钟后始终返回“networkerror”,尽管它似乎在后台运行了一段时间,甚至在返回错误之后也是如此。如何解决这个问题?S3有,它限制了每秒可以执行的读写操作的数量 AmazonS3自动扩展到高请求率。例如 您的应用程序至少可以实现3500个PUT/POST/

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

S3有,它限制了每秒可以执行的读写操作的数量

AmazonS3自动扩展到高请求率。例如 您的应用程序至少可以实现3500个PUT/POST/DELETE和5500个 获取bucket中每个前缀每秒的请求数。没有限制 一个存储桶中前缀的数目。增加阅读量很简单 或者以指数方式写入性能。例如,如果创建10个 AmazonS3存储桶中的前缀用于并行读取,您可以进行扩展 您的读取性能可以达到每秒55000个读取请求

如果所有这些对象的密钥(文件路径)中有相同的8个字符,则它们位于相同的前缀上,并且限制为3500次删除和5500次获取。如果是这种情况,并且需要定期执行此操作,请考虑更改前缀,以使键的前8个字符不同,从而强制对象分布在更多节点上。我的一位同事更详细地谈到了这一点

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

您看到的延迟可能是由于S3在该区域的AZs之间同步造成的

AmazonS3为所有区域的覆盖放置和删除提供了最终的一致性


我正在测试另一个函数,结果出现了这个错误。阅读一点文档,我发现我激活了油门选项,它降低了您的功能的速率


解决方法是创建另一个函数,看看节流阀是否会出错。

谢谢@Matt。它包含大约100个前缀,每个前缀大约有600-1500个文件。我将尝试批量删除选项。