我可以在没有Expires的情况下创建已签名的Amazon S3 GET请求

时间:2014-07-15 13:23:56

标签: amazon-web-services amazon-s3

我正在将文件上传到Amazon S3并使用唯一标识符来确保没有冲突。上传后我想使用“response-content-type”和“response-content-disposition”参数将数据库中的链接缓存到文件中。

不幸的是,这需要对URL进行签名,似乎所有签名的URL都需要expires参数。

我不希望此链接过期。我不明白为什么它需要过期。

处理此问题的唯一方法是为资源的每个请求动态创建链接吗?我不喜欢在未来任意日期创建链接的想法。


编辑:

我已将Content-Type和Content-Disposition参数添加到POST操作中,然后返回/使用GET操作。当我问这个问题时,我没有意识到这一点。这个问题仍然是一个有效的问题,所以我会再多花一点时间来看看是否有其他可能的解决方案。

1 个答案:

答案 0 :(得分:0)

URL签名用于临时访问您不想与其共享凭据的人。没有过期就无法签署S3 URL。您可能希望将对象设置为公共读取,这样您就可以下载它们而无需签名,它们也不会过期。

有关其为何需要过期的详细信息以及他们在签署网址时所做的确切操作。 http://www.layer7tech.com/tutorials/how-to-implement-hmac-api-security