为 DELETE 操作生成预先签名的 s3 Url

xmx*_*xmx 1 php amazon-s3 amazon-web-services

嗨,我正在使用从https://gist.github.com/kelvinmo/d78be66c4f36415a6b80修改的代码生成 s3 预签名“GET”网址以显示图像

理想情况下,我还应该能够生成一个预先签名的删除 URL,将其放入浏览器中,图像就会被删除。

我想为删除操作修改它,除了 aws 文档(含糊不清但说这是可能的)之外,似乎没有关于如何使用预先签名的 url 执行此操作的在线信息。我还没有找到任何使用预先签名的 url 进行删除的在线教程。

https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html

正如许多文档所说,我尝试在请求中更改 Get to Delete ,但这会创建不正确的签名:

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

看起来s3正在将DELETE签名与PUT签名匹配并说它不匹配,那么如何进行删除?!

任何线索或链接都会有所帮助。我假设当前的 GET 脚本正在发送错误的参数或其他东西。

hel*_*loV 5

对象操作

支持预签名 URL:

  • 得到

不支持:

  • 列表
  • 复制
  • 删除

你得到的原因SignatureDoesNotMatch是操作是签名的一部分。您不能将操作从 GET 更改为 DELETE 并期望签名匹配。