我对 aws-cli 有问题,我进行了 yum 更新,它更新了 awscli(除其他外),现在 awscli 在带有 SignatureDoesNotMatch 的大文件(例如 5.1 Gb)上失败。具有较小文件的完全相同的命令(对同一个存储桶)有效。如果我使用 python 中的 boto,大文件仍然有效。
它复制了除了两个看起来像的所有部分(即,它被计数到 745 个部分中的 743 个),然后出现错误消息。
看起来像 awscli 中的错误?不过,当我四处搜索时,我找不到任何关于它的信息。
这一切都在 ec2 实例上执行。
$ /usr/bin/aws --version
aws-cli/1.5.4 Python/2.6.9 Linux/3.14.20-20.44.amzn1.x86_64
$ ls -hl
-rw-rw-r-- 1 user user 4 Nov 4 21:14 small
-rw-rw-r-- 1 user user 5.1G Nov 4 20:02 big
$ /usr/bin/aws s3 cp small s3://mybucket/uploaded.ext
upload: ./small to s3://mybucket/uploaded.ext
$ /usr/bin/aws s3 cp big s3://mybucket/uploaded.ext
upload failed: ./big to s3://mybucket/uploaded.ext
A client error (SignatureDoesNotMatch) occurred when calling the UploadPart operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.
编辑:以为我找到了,但仍然有这个问题。我宁愿坚持使用 awscli,因为它是我们在整个代码中使用的,而且它比 boto 快得多(至少在它工作时)
Edit2:它实际上变得越来越糟,我可以在控制台中重复相同的复制命令,有时它会通过,有时它不会