Php 为删除操作生成预签名的S3URL

Php 为删除操作生成预签名的S3URL,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,您好,我正在生成s3预签名的“GET”URL,以使用从中修改的代码显示图像 理想情况下,我也应该能够生成一个预先签名的删除URL,把它放在浏览器中,图像就会被删除 我想为删除操作修改这个,除了aws文档之外,似乎没有关于如何使用预先签名的url执行此操作的在线信息,虽然aws文档很模糊,但说这是可能的。我还没有找到任何使用预签名URL进行删除的在线教程 正如许多文档所说,我尝试在请求中更改要删除的Get,但这会创建一个不正确的签名: SignatureDesNotMatch我们计算的请求签名与

您好,我正在生成s3预签名的“GET”URL,以使用从中修改的代码显示图像

理想情况下,我也应该能够生成一个预先签名的删除URL,把它放在浏览器中,图像就会被删除

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

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

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

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

任何线索或链接都会有帮助。我假设当前GET脚本发送了错误的参数或其他内容。

以下各项支持预签名URL:

  • 得到
不支持以下情况:

  • 名单
  • 抄袭
  • 删除
获取签名的原因是操作是签名的一部分。您不能将操作从GET更改为DELETE,并期望签名匹配。

以下各项支持预签名URL:

  • 得到
不支持以下情况:

  • 名单
  • 抄袭
  • 删除
获取签名的原因是操作是签名的一部分。您不能将操作从GET更改为DELETE,并期望签名匹配。

使用授权标头 这不是一个可以共享的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:

TODO:等我弄明白后,我会回来提供更多信息…

使用授权标题 这不是一个可以共享的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:


托多:等我弄明白了,我会回来提供更多的信息…

哦,这很有道理,谢谢!这意味着我必须使用API才能删除?!糟透了。哦,这很有道理,谢谢!这意味着我必须使用API才能删除?!真倒霉