你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置生命周期管理策略

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

生命周期管理策略由一个或多个规则组成,这些规则定义了一组需根据要满足的条件执行的操作。 对于基础 blob,可以选择检查以下条件之一:

  • 自创建 blob 以来经过的天数。
  • 自上次修改 blob 以来经过的天数。
  • 自上次访问 blob 以来经过的天数。 若要在操作中使用此条件,应当先启用上次访问时间跟踪(可选)

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

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

注意

生命周期管理策略支持块 Blob,并可在常规用途 v2、高级块 Blob 和 Blob 存储帐户中追加 Blob。

启用访问时间跟踪(可选)

在配置生命周期管理策略之前,可以选择启用 blob 访问时间跟踪。 启用访问时间跟踪时,生命周期管理策略可能会根据上次通过读取或写入操作访问 blob 的时间加入一项操作。 为了尽量减少对读取访问延迟的影响,只有最近 24 小时的第一次读取会更新最后访问时间。 同一个 24 小时期间内的后续读取不会更新上次访问时间。 如果 Blob 在两次读取之间被修改,则上次访问时间是两个值中的较新值。

如果没有启用上次访问时间跟踪,则 daysAfterLastAccessTimeGreaterThan 将使用启用生命周期策略的日期,而不是使用 blob 的 LastAccessTime 属性。 当 LastAccessTime 属性为 null 值时,也将使用此日期。 有关使用上次访问时间跟踪的详细信息,请参阅基于上次访问时间移动数据

若要通过 Azure 门户启用上次访问时间跟踪,请执行以下步骤:

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

  2. 在“数据管理”部分,选择“生命周期管理”。

  3. 选中“启用访问跟踪”复选框

    该屏幕截图显示了如何在 Azure 门户中启用上次访问跟踪。

使用 daysAfterLastAccessTimeGreaterThan 属性来指定应当在自上次访问经过多少天后,对 Blob 执行操作。

创建或管理策略

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

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

列表视图

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

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

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

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

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

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

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

仅当已启用访问时间跟踪,并且已选择“块 Blob”作为 Blob 类型时,“上次访问”选项才可用。 若要了解如何启用访问跟踪,请参阅启用访问时间跟踪(可选)

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

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

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

请注意,在删除与一个 Blob 关联的所有早期版本或快照之前,生命周期管理策略不会删除该 Blob 的当前版本。 如果存储帐户中的 Blob 具有以前的版本或快照,则应在将删除操作指定为策略的一部分时,在“Blob 子类型”部分中选择“基本 Blob”、“快照”和“版本”

代码视图

  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"
          ]
        }
      }
    }
  ]
}

另请参阅