如何修复 awscli s3 错误“您指定的 Content-MD5 与我们收到的不匹配”(BadDigest)?

如何修复 awscli s3 错误“您指定的 Content-MD5 与我们收到的不匹配”(BadDigest)?

上传超过 10 GB 的文件到 s3 失败,并显示:

aws s3 cp 'foo.log.gz' s3://mybucket/2018/12/ --storage-class REDUCED_REDUNDANCY
upload failed: ./foo.log.gz to s3://mybucket/2018/12/foo.log.gz 

An error occurred (BadDigest) when calling the UploadPart operation (reached max retries: 4): The Content-MD5 you specified did not match what we received.

如何解决该错误?

答案1

这部分起作用:md5 是错误的,应该使用 sha256,设置这个有帮助:

aws configure set default payload_signing_enabled = true

第二种解决方案
更深入的问题涉及: http://tracker.ceph.com/issues/20447

更深层次的: https://github.com/ceph/ceph/pull/15965/files

结论
一些地区仅使用“v4 签名”(eu-central-1 也是如此)awscli 中的 sha2 签名存在错误。

该问题只发生在多部分上传中。如果最小垃圾大小大于文件大小,则部分上传中的错误并不致命:

aws configure set  multipart_chunksize = 20GB

相关内容