2011-01-10 292 views
25

我希望这个问题不是太简陋,但我很困惑...亚马逊S3到期日?

在S3文档我读:

所有HTTP查询有到期 参数,允许您设置如何长时间查询将是有效的。例如,对于 示例,您可以配置网页 图形在很长的一段时间后过期,或者软件下载 只能持续24小时。

对于可公开访问的数据对象(文件),这是否意味着数据对象(文件)本身将不再有效,或者说,浏览器将重新缓存在到期日之后的对象。如果我将期限设置过长,我会在十年后失去我的数据吗?或者,如果我设置了24小时的下载,那么它过去了/无法访问?

如果我没有设置到期日期,该怎么办?

回答

40

我相信你指的是存储在Amazon S3上的私人数据的签名url。

如果文件是可公开访问的,他们可以用一个简单的URL到文件访问:

http://s3.amazonaws.com/[bucket]/[key]

然而,它们可以被设置为private在这种情况下,你需要提供一个signed url访问文件。此网址是使用您的公开密钥和密钥创建的,并且其URL具有到期时间。例如

http://[bucket].s3.amazonaws.com/[key]?AWSAccessKeyId=[AWS_Public_Key]&Expires=1294766482&Signature=[generated_hash] 

根据您的问题,Web图形,你可能会重新使用相同的生成的URL设置遥远的未来的到期时间,使浏览器可以缓存文件,而文件下载你会可能会为每个请求创建一个新的url,并将url设置为仅提前一天过期以保护您的数据。

This DOEST NOT过期/删除/删除存储在S3上的数据。它只影响文件的网址,并且您可以根据需要生成具有不同到期日期的尽可能多的网址。

+1

您也可以通过重命名,移动或删除对象来使所有指向S3上的对象的URL无效。这很明显,一旦你明白你所创建的URL就是这样的 - 它们指向你S3帐户上的一个文件,而亚马逊甚至不知道你什么时候创建一个文件 - 你不需要互联网连接来创建一个签名的URL。 – 2011-12-01 22:20:29