botocore.exceptions.ClientError调用GetObject操作时发生错误(SignatureDoesNotMatch)

时间:2017-12-27 15:38:23

标签: python amazon-web-services ssl amazon-s3 boto3

运行以下代码时:

   botocore.exceptions.ClientError: An error occurred 
   (SignatureDoesNotMatch) when calling the GetObject operation: The request 
   signature we calculated does not match the signature you provided. Check 
   your key and signing method.

我收到以下错误:

{{1}}

到目前为止我已尝试过:

  1. 仔细检查aws cli中配置的访问密钥ID和密钥访问密钥(在命令提示符下运行aws configure) - 它们是正确的。
  2. 尝试使用boto3列出存储桶对象 - 它成功运行。尝试下载文件时似乎出现了这个问题。
  3. 使用chrome插件浏览存储桶内容并下载文件:chrome plugin它可以成功运行。
  4. 有趣的是下载某些文件的作品,但不是全部。我下载了一个之前已经连续工作20次的文件,看看错误是否是间歇性的。它工作了20次。我为一个以前没有工作的文件做了同样的事情,它没有下载任何20次。

    我在stackoverflow上看到了一些其他的帖子,说api key&访问密钥可能不正确。但是,如果我能够使用Chrome S3插件列出对象并下载文件(其中一个并没有通过boto3工作),我就不相信这种情况。

    有没有人对这里可能出现的问题有任何建议?

    谢谢

1 个答案:

答案 0 :(得分:1)

当您为s3使用错误/无效的密钥时,会发生此错误