amazon-web-services - 可以向 aws s3 presign url 发送 PUT 请求吗?
问题描述
我一直在尝试使用 presign URL 将文件放入我的私有 S3 存储桶中。但我一直收到此错误消息
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
presign URL 是使用此命令生成的
aws s3 presign s3://<bucket-name>/<file-name> --expires-in 300
但是当我做一个 curl PUT 请求时,发生了错误
curl -T "<file-name>" "<Generated presign url>"
是否有一些研究看到人们在请求签名 URL 时谈论在标头中添加“Content_Type”,但 aws cli 没有包含该标志。
是否可以通过 aws cli 发出请求?
解决方案
AWS CLI 尚不支持预签名的 PUT URL。不过,您可以使用 Python Boto3 轻松生成一个。文档在这里。如果你想要一个预签名的 PUT,你只需要让ClientMethod
param be put_object
。
推荐阅读
- android - Firestore 安全规则 - 如果存在语句
- asp.net-core - IList 在回发更新的复选框时返回 count=0
- java - 什么算作算法分析中的比较?
- java - 当我用接口 B 扩展接口 A 时,A 的方法是否可以免费提供给 B 的实现者?
- java - 实例变量的执行顺序
- c - SDL 曲面数组在重新分配一定数量后更改内容
- c# - 使用代理时 CEFSharp WinForm 返回空白页
- python - 形状多边形包含的问题,似乎没有正确标记所有包含的点
- html - 为什么 li hover 只覆盖文本部分而不是整个 li 框?
- node.js - Azure AD OIDC Passport Strategy pid:2179,level:40 生产环境应始终验证颁发者