2016-08-12 44 views
2

我正在爲我的一個容器設置一個策略,以便它在x天內刪除或僅保留數據。所以如果x是30,那個容器應該只包含少於30天的文件。如果文件在容器中放置超過30天,應丟棄它們。有什麼辦法可以配置嗎?Azure容器的保留策略?

回答

2

目前,Azure Blob存儲不支持此類功能。你需要寫一些你自己的東西,定期運行來做這個檢查並刪除舊的blob。

附註:此功能自2011年以來一直有待處理:https://feedback.azure.com/forums/217298-storage/suggestions/2474308-provide-time-to-live-feature-for-blobs

UPDATE

如果你需要自己做,都需要考慮兩件事情:

  1. 代碼來獲取斑點的列表中,找出需要刪除的斑點和然後刪除這些斑點。爲此,您可以使用Azure存儲SDK。 Azure Storage SDK可用於許多編程語言,如.Net,Java,Node,PHP等。您只需使用您熟悉的那一種。
  2. 將此代碼調度爲每天運行一次:爲此,您可以使用Azure中提供的許多服務之一。您可以使用Azure WebJobs,函數,Schedular,Azure自動化等。

如果決定使用Azure自動化,則可以使用Runbook,您可以使用它(無需編寫代碼)。你可以在這裏找到更多細節:https://gallery.technet.microsoft.com/scriptcenter/Remove-Storage-Blobs-that-aae4b761

+0

你知道任何顯示如何使用代碼可以完成的源代碼嗎? – chillax786

+0

使用此示例作爲迭代容器中的斑點的起點。添加代碼以評估保留策略是否過期並刪除這些blob。我在週期性的(基於cron的)Azure WebJob中運行它。它效果很好。 https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/#list-blobs-in-pages-asynchronously –