2016-11-03 241 views
0

我需要存儲一些臨時文件,可能是1到3個月。只需要保留最近三個月的文件。舊文件需要刪除。我如何在azure blob存儲中執行此操作?在這種情況下除了blob存儲之外還有其他選擇嗎?如何存檔Azure blob存儲內容?

回答

-2

您可以使用Azure Cool Blob存儲。

它比Blob存儲更便宜,更適合存檔。

您可以以較低的存儲成本(在某些地區低至每GB $ 0.01美元)在Cool訪問層中存儲訪問頻率較低的數據,並以較低的訪問成本訪問熱門訪問層中訪問頻率更高的數據。

這裏是一個文件,說明其功能:存儲在Azure中的文件

https://azure.microsoft.com/en-us/blog/introducing-azure-cool-storage/

+0

是的我打算使用酷,但如何刪除舊數據?數據超過3個月? – user43286

1

恕我直言,最好的選擇是要麼Blob存儲或不過文件存儲兩者都不支持的內容自動到期(基於年齡或其他標準)。

此功能已被要求早一些的Blob存儲,但不幸的是目前尚未取得任何進展(https://feedback.azure.com/forums/217298-storage/suggestions/7010724-support-expiration-auto-deletion-of-blobs)。

然而,你可以寫一些你自己的東西來實現這一點。這非常簡單:定期(例如一天一次),程序將獲取斑點列表,並將斑點的最後修改日期與當前日期進行比較。如果blob的最後修改日期比期望的時間段早(您提到的1或3個月),則只需刪除該blob即可。

您可以使用WebJobs,Azure FunctionsAzure Automation安排您的代碼定期運行。實際上,如果您想使用Azure Automation Servicehttps://gallery.technet.microsoft.com/scriptcenter/Remove-Storage-Blobs-that-aae4b761,則可以使用現成的代碼。

0

據我所知,Azure Blob是一種適用於存儲某些臨時文件的方法。對於您的場景,我認爲沒有內置選項可以刪除舊文件,並且需要以編程方式或手動刪除臨時文件。

一個簡單的方法,你可以嘗試使用特定的格式(例如https://<your-storagename>.blob.core.windows.net/containerName/2016-11/fileNamehttps://<your-storagename>.blob.core.windows.net/2016-11/fileName)上傳您的BLOB(文件),那麼你可以通過手動Microsoft Azure Storage Explorer管理文件。

此外,您可以檢查您的文件並刪除舊文件,然後再上傳新的臨時文件。有關更多詳細信息,您可以按照storage-blob-dotnet-store-temp-files並覆蓋方法CleanStorageIfReachLimit來實現刪除斑點(文件)的邏輯。

此外,您可以利用計劃的Azure WebJob來清理您的斑點(文件)。