如何归档Azure blob存储内容?

时间:2016-11-03 23:29:18

标签: azure azure-storage-blobs

我需要存储一些临时文件可能需要1至3个月。只需要保留最近三个月的文件。需要删除旧文件。如何在azure blob存储中执行此操作?除了blob存储之外,还有其他选择吗?

3 个答案:

答案 0 :(得分:1)

恕我直言在Azure中存储文件的最佳选择是Blob存储或文件存储,但是它们都不支持内容的自动过期(基于年龄或其他一些标准)。

Blob Storage长期以来一直要求使用此功能,但遗憾的是到目前为止尚未取得任何进展(https://feedback.azure.com/forums/217298-storage/suggestions/7010724-support-expiration-auto-deletion-of-blobs)。

然而,您可以写一些自己的东西来实现这一目标。它非常简单:定期(比如一天一次)你的程序将获取blob列表并将blob的最后修改日期与当前日期进行比较。如果blob的最后修改日期早于所需的期间(如您所提到的1或3个月),则只需删除blob即可。

您可以使用WebJobsAzure FunctionsAzure Automation来安排代码定期运行。事实上,如果您想使用Azure Automation Servicehttps://gallery.technet.microsoft.com/scriptcenter/Remove-Storage-Blobs-that-aae4b761,可以使用现成的代码。

答案 1 :(得分: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来实现删除blob(文件)的逻辑。

此外,您可以利用预定的Azure WebJob来清理blob(文件)。

答案 2 :(得分:-2)

您可以使用Azure Cool Blob存储。

它比Blob存储便宜,更适合档案。

您可以以较低的存储成本(在某些地区每GB低至0.01美元)将您不常访问的数据存储在Cool访问层中,以及以较低的访问成本在Hot访问层中访问更频繁的数据。

这是一个解释其功能的文档:

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