2011-01-10 287 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