Azure容器的保留策略?

问题描述 投票:4回答:2

我正在寻找为我的一个容器设置策略,以便删除或仅保留x天的数据。因此,如果x为30,则该容器应仅包含少于30天的文件。如果文件在容器中放置超过30天,则应将其丢弃。有什么办法可以配置吗?

azure azure-storage azure-storage-blobs
2个回答
3
投票

Azure Blob存储目前不支持此类事情。您需要编写自己的东西,定期运行以执行此检查并删除旧blob。

另一方面,这个功能一直悬而未决(自2011年起):https://feedback.azure.com/forums/217298-storage/suggestions/2474308-provide-time-to-live-feature-for-blobs

UPDATE

如果您需要自己动手,有两件事需要考虑:

  1. 用于获取blob列表的代码,找出需要删除的blob然后删除这些blob。为此,您可以使用Azure Storage SDK。 Azure Storage SDK可用于许多编程语言,如.Net,Java,Node,PHP等。您只需使用您熟悉的编程语言。
  2. 安排此代码每天运行一次:为此,您可以使用Azure中提供的众多服务之一。您可以使用Azure WebJobs,功能,计划,Azure自动化等。

如果您决定使用Azure自动化,那么您可以使用已经可以使用的Runbook(无需编写代码)。你可以在这里找到更多相关细节:https://gallery.technet.microsoft.com/scriptcenter/Remove-Storage-Blobs-that-aae4b761


0
投票

Azure Blob存储生命周期(预览)现已可用,我们使用它创建具有不同规则的策略。

以下是删除超过30天的blob的规则

 {
  "version": "0.5",
  "rules": [
    {
      "name": "expirationRule",
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ]
        },
        "actions": {
          "baseBlob": {
            "delete": { "daysAfterModificationGreaterThan": 30}
          }
        }
      }
    }
  ]
}

有关详细信息,请参阅此Azure Blob storage Lifecycle

© www.soinside.com 2019 - 2024. All rights reserved.