【问题标题】:How to archive Azure blob storage content?如何归档 Azure Blob 存储内容?
【发布时间】:2016-11-04 11:09:11
【问题描述】:

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

【问题讨论】:

    标签: azure azure-blob-storage


    【解决方案1】:

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

    早在 Blobs 存储中就已请求此功能,但遗憾的是,到目前为止尚未取得任何进展 (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,你可以使用现成的代码。

    【讨论】:

      【解决方案2】:

      据我所知,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(文件)。

      【讨论】:

        【解决方案3】:

        您可以使用 Azure Cool Blob 存储。

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

        您可以以较低的存储成本(在某些地区低至每 GB 0.01 美元)将访问频率较低的数据存储在冷访问层中,并将访问频率较高的数据以较低的访问成本存储在热访问层中。

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

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

        【讨论】:

        • 是的,我打算用cool,但是如何删除旧数据呢?超过 3 个月的数据?
        猜你喜欢
        • 2016-12-07
        • 2016-08-30
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        • 2018-06-27
        • 2012-07-15
        • 2021-04-14
        • 2017-05-20
        相关资源
        最近更新 更多