首先,我知道this和{a2},但我的情况略有不同。在
当我试图从AWS lambda函数将超过11MB的文件上载到S3存储桶时,我遇到了这个错误:
调用PutObject操作时发生错误(BadDigest)(达到最大重试次数:4):您指定的Content-MD5与我们收到的不匹配。
我的lambda只做这个:
在s3bucket中创建一个包含这些内容的对象
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的支持人员,他们反应有点慢。所以我想知道社区对此有什么看法。在
AWS支持建议在lambda计算MD-5校验和之后,我的文件内容会发生变化。我看不出上面的代码是怎么可能的。在
请告诉我,如果我错过了看这里的东西。在
经过很长时间和积累了大量的经验,我知道校验和不匹配是因为我一直使用错误的文件编码。在
当谈到文件编码时,我不是专家,只是简单地将编码改为
utf-8
就可以消除这个错误。在相关问题 更多 >
编程相关推荐