问题描述
不幸的是,我无法使用AWS开发工具包,而必须使用REST API AWS服务(我正在使用Flutter WEB )。 所以我开始对AWS文档进行研究,这就是我所做的:
-
创建存储桶。
-
将所有权限公开(仅用于测试)
-
开放式接入点
然后在我正在“ Auth” aws签名中使用的邮递员处添加新的密钥, 除了会话令牌(我的存储桶是打开的,如果我误会请纠正我,我知道我不需要它)。 当我发送请求时,出现错误:
Missing required header for this request: x-amz-content-sha256
这是附件图片:
错误消息
解决方法
根据AWS documentation,您需要在请求中发送x-amz-content-sha256
标头:
所有AWS Signature版本4请求都需要x-amz-content-sha256标头。它提供了请求有效负载的哈希值。如果没有有效负载,则必须提供一个空字符串的哈希值。
似乎Postman出于某种原因未添加它。您应该检查标题,然后手动添加。
,刚刚也遇到了这个问题 - 服务名称必须是“s3”与“S3”。