配置生命周期管理策略

Azure 存储生命周期管理可提供基于规则的策略,用于将 blob 数据转移到最适合的访问层,或在数据生命周期结束时使数据过期。 生命周期策略作用于基础 blob,并且可以选择作用于 blob 的版本还是快照。 有关生命周期管理策略的详细信息,请参阅通过自动管理数据生命周期来优化成本

生命周期管理策略由一个或多个规则组成,这些规则定义了一组根据所满足的条件要执行的操作。 对于基 blob,可以定义自上次修改 blob 以来的天数。

当所选条件为 true 时,管理策略将执行指定操作。 例如,如果已经定义一项操作(将 30 天内未经修改的 blob 从热层移至冷层),则生命周期管理策略将会在自上次对该 blob 执行写入操作过去 30 天后移动此 blob。

对于 blob 快照或版本,所要检查的条件是自创建快照或版本以来经过的天数。

创建或管理策略

可以使用 Azure 门户、PowerShell、Azure CLI 或 Azure 资源管理器模板来添加、编辑或删除生命周期管理策略。

可以在 Azure 门户中通过两种方式添加策略。

列表视图

  1. 在 Azure 门户中导航到存储帐户。

  2. 在“数据管理”下,选择“生命周期管理”以查看或更改生命周期管理策略。

  3. 选择“列表视图”选项卡。

  4. 选择“添加规则”并在“详细信息”表单上为你的规则命名。 你还可以设置“规则范围”、“Blob 类型”和“Blob 子类型”值。 下面的示例设置筛选 Blob 的范围。 这将导致添加“筛选器集”选项卡。

    Azure 门户中的“生命周期管理”>“添加规则”>“详细信息”页

  5. 选择“基础 Blob”以设置规则的条件。 在以下示例中,如果 Blob 有 30 天未修改,它们将转移到冷存储。

    Azure 门户中的“生命周期管理”>“基础 Blob”页

  6. 如果你在“详细信息”页上选择了“使用筛选器限制 Blob” ,请选择“筛选器集”来添加可选筛选器。 下方示例筛选的是 sample-container 容器中名称以 log 开头的 Blob。

    Azure 门户中的生命周期管理筛选器集页

  7. 选择“添加”以添加新策略。

代码视图

  1. 在 Azure 门户中导航到存储帐户。
  2. 在“数据管理”下,选择“生命周期管理”以查看或更改生命周期管理策略。
  3. 选择“代码视图”选项卡。在此选项卡上,你可以定义 JSON 生命周期管理策略。

下方 JSON 示例定义了以下生命周期策略:将名称以 log 开头的块 Blob 移动到冷层,但前提是该 Blob 已有超过 30 天时间未经修改。

{
  "rules": [
    {
      "enabled": true,
      "name": "move-to-cool",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "sample-container/log"
          ]
        }
      }
    }
  ]
}

必须完整读取或写入生命周期管理策略。 不支持部分更新。

注意

每个规则最多可以有 10 个区分大小写的前缀和 10 个 Blob 索引标记条件。

注意

如果为存储帐户启用了防火墙规则,生命周期管理请求可能会被阻止。 可以通过针对受信任的 Microsoft 服务提供例外来取消阻止这些请求。 有关详细信息,请参阅“配置防火墙和虚拟网络”中的“例外”部分。

注意

生命周期管理策略无法更改使用加密范围的 Blob 层。

注意

生命周期管理策略的删除操作不适用于不可变容器中的任何 Blob。 通过不可变策略,可以创建和读取对象,但不能修改或删除对象。 有关详细信息,请参阅使用不可变的存储来存储业务关键型 Blob 数据

请参阅