【发布时间】:2019-02-14 15:23:13
【问题描述】:
当我尝试从我的 AWS lambda 函数将超过 11MB 的文件上传到 S3 存储桶时出现此错误:
调用 PutObject 操作时发生错误 (BadDigest)(达到最大重试次数:4 ): 您指定的 Content-MD5 与我们收到的不符。
我的 lambda 只做这个:
- 从 URL 获取一些内容
- 将这些内容存储在类似文件的字符串对象中
-
在 S3 存储桶中创建一个对象并写入这些内容
some_huge_text_from_a_url = requests.get(url) contents = StringIO.StringIO() contents.write(some_huge_text_from_a_url) contents.seek(0) s3_client.put_object(Body=contents, Bucket=s3_bucket, Key=s3_key)
我从同一个线程生成并上传文件,但我仍然收到此错误。我就此联系了 AWS 支持,他们的响应有点慢。所以我想知道 SO 社区对此有什么看法。
AWS 支持建议我的文件内容在 lambda 计算 MD-5 校验和后发生变化。我看不出在上面的代码中怎么可能。
如果我想在这里看到什么,请告诉我。
【问题讨论】:
标签: python python-2.7 amazon-web-services amazon-s3 aws-lambda