繁体   English   中英

AWS S3:我们计算出的请求签名与您提供的签名不匹配。 检查您的密钥和签名方法

[英]AWS S3: The request signature we calculated does not match the signature you provided. Check your key and signing method

我正在尝试使用环境变量中提供的访问密钥和机密从S3下载CSV文件。 以下是基于调试的发现。

  1. 我的一个文件夹名称以/开头,导致此问题,其他文件夹和文件正在工作。
  2. AWS控制台不允许您创建名称以/开头的文件夹。 但是,“成本使用情况”报告的报告路径前缀中可以带有/ ,从而在S3存储桶中创建该文件夹。
  3. 通过在文件夹名称后附加一个/ ,我可以使用CLI下载文件。 我还检查了Java SDK代码,该代码也执行相同的操作,但是没有用。
  4. 我能够列出文件,但是当我尝试获取s3Object时,出现了SignatureDoesNotMatch错误。

我尝试了所有可能的解决方案,但最终无法通过AWS JAVA SDK进行操作,但是它可以与AWS CLI一起使用。

有人可以给我提供任何指针或参考吗? 我尝试了互联网上提供的一些解决方案,但对我没有用。

低于错误

com.amazonaws.services.s3.model.AmazonS3Exception:

我们计算出的请求签名与您提供的签名不匹配。 检查您的密钥和签名方法。 (服务:Amazon S3;状态代码:403;错误代码:SignatureDoesNotMatch;请求ID:A2C6F2F49F230E18; S3扩展请求ID:xxxxxxxx),S3扩展请求ID:yyyyyyyyyyyy

注意:我正在将Spring Boot应用程序与JAVA SDK版本1.11.510一起使用。

经过两天的调试,我发现Spring引导版本存在问题。

更新Spring Boot版本2.1.0.RELEASE后,我使用的是Spring Boot版本2.1.3.RELEASE,它像一个魅力一样工作。

注意:仅少数以'/'开头的S3文件夹出现此问题。

仅供参考: https : //github.com/aws/aws-sdk-java/issues/1919#issuecomment-471451804

从AWS查找
AWS控制台不允许创建名称以“ /”开头的文件夹,但是成本使用情况报告的路径前缀可以包含“ /”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM