[英]Signing Get Requests with AWS4Signer: The request signature we calculated does not match the signature you provided
[英]AWS S3: The request signature we calculated does not match the signature you provided. Check your key and signing method
我正在尝试使用环境变量中提供的访问密钥和机密从S3下载CSV文件。 以下是基于调试的发现。
/
开头,导致此问题,其他文件夹和文件正在工作。 /
开头的文件夹。 但是,“成本使用情况”报告的报告路径前缀中可以带有/
,从而在S3存储桶中创建该文件夹。 /
,我可以使用CLI下载文件。 我还检查了Java SDK代码,该代码也执行相同的操作,但是没有用。 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.