2010-07-13 39 views
7

我使用的是紅寶石LIB(http://amazon.rubyforge.org/自動刪除對象比亞馬遜S3 n天(如何?)

我不在乎超過1周的照片存儲在Amazon S3中, 許多圖像年紀大了,那麼爲了釋放S3中的空間,我必須刪除這些照片。

我知道有刪除某一桶對象的方法:

S3Object.delete 'photo-1.jpg', 'photos' 

是否有辦法來自動刪除超過一週年長的形象呢?

如果它不存在,我會寫一個守護進程做:-(

謝謝


更新:現在它是可能的,檢查Roberto的答案

+0

有一個更好的答案,然後標記的一個... – 2014-07-22 12:07:56

回答

1

不幸的是,亞馬遜沒有提供基於一組特定的標準自動刪除的API。

你需要寫一個後臺程序,通過所有的照片去並選擇那些符合您的標準,然後逐個刪除它們。

+3

警告! - 在下面檢查@ Roberto的帖子。現在可以完成。 – digiguru 2014-02-20 12:59:24

1

如果您有權訪問本地數據庫,只需簡單地記錄每個圖像(您可能已經根據您的應用程序進行了此操作),然後您可以執行一個簡單的查詢來檢索整個列表並將其刪除。這比直接查詢S3快得多,但確實需要某種本地存儲。

42

如果使用S3存儲日誌文件或具有有限 一輩子其他文件可以使用亞馬遜S3對象到期策略

Amazon S3 - Object Expiration | AWS Blog

,你可能不得不建立一些內部機制到 跟蹤對象的年齡,並啓動批量刪除過程從時間到 時間。儘管我們新的多對象刪除功能將幫助您更快更輕鬆地完成此過程,但我們希望繼續走得更遠。

S3的新對象過期功能允許您定義規則到 計劃在預定義的時間段後刪除對象。 規則在生命週期配置策略中指定,您將 應用於存儲段。您可以通過AWS管理控制檯中的S3 API或 更新此策略。

Object Expiration | AWS S3 Documentation

,你在亞馬遜S3存儲存儲某些對象可能有一個 定義良好的壽命。例如,您可能正在上傳定期 日誌到您的存儲桶,但您可能需要保留這些日誌以獲得 的特定時間。您可以使用對象生命週期管理來指定存儲桶中對象的生命週期;當對象的生命週期到期時,Amazon S3會將對象排隊以刪除 。

Ps:點擊鏈接瞭解更多信息。