您好我正在使用https://gist.github.com/kelvinmo/d78be66c4f36415a6b80
修改的代码生成s3预先签名的“GET”网址以显示图片理想情况下,我还应该能够生成预先签名的删除URL,将其放入浏览器中,图像将被删除。
我想修改这个删除操作,似乎没有关于如何使用预先设定的URL的在线信息,除了aws文档,这是模糊的,但说它是可能的。我还没有找到任何使用预先签名的网址进行删除的在线教程。
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html
我尝试在请求中更改Get to Delete,因为许多文档都说,但这会创建一个错误的签名:
SignatureDoesNotMatch我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法
看起来s3正在将DELETE签名与PUT签名匹配并说它不匹配,那么如何删除?!
任何线索或链接都会有所帮助。我假设当前的GET脚本发送了错误的参数或其他东西。
答案 0 :(得分:2)
支持预签名网址:
不支持:
您获得SignatureDoesNotMatch
的原因是该操作是签名的一部分。您无法将操作从GET更改为DELETE并期望签名匹配。
答案 1 :(得分:0)
这不是您可以共享的URL,但它可能会满足您通过简单工具执行操作的意图。
根据AWS文档,您可以使用正确的授权标头执行此操作:
DELETE /my-second-image.jpg HTTP/1.1
Host: bucket.s3.amazonaws.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization string
Content-Type: text/plain
在这种情况下,您需要设置的标题或多或少是预签名的URL:
待办事项:当我知道了更多信息后,就会回来...