Azure Blob 存储生命周期管理概述

Azure Blob 存储使组织能够有效地管理和缩放其数据存储需求,即使数据量增长,使用模式也会发生变化。 通过使用 Blob 生命周期管理,客户可以通过实施基于规则的策略来主动优化成本,这些策略可自动将数据转换为较冷的层,或者在不再需要数据时过期。

这种无缝自动化可确保数据始终以最经济高效的方式存储,从而最大程度地提高预算效率,同时保持轻松的访问和可靠的数据管理。 借助 Blob 生命周期管理,组织可以自信地缩放其存储环境,知道其成本得到优化,并且数据根据实际使用情况进行管理。

利用生命周期管理策略,可以实现以下操作:

  • 如果在一段时间内未访问或修改 Blob 的当前版本、Blob 的先前版本或 Blob 快照,可将这些对象转换为冷存储层,以优化成本。

  • 访问 blob 时,立即将 blob 从冷转换回热。

  • 在生命周期结束时,删除 blob 的当前版本、旧版本或快照。

  • 将规则应用于整个存储帐户、选择容器,或使用名称前缀或 Blob 索引标记作为筛选器的 blob 子集。

生命周期管理策略功能

生命周期管理策略是 JSON 文档中的规则集合。 若要了解详细信息,请参阅 Azure Blob 存储生命周期管理策略结构

生命周期管理策略支持块 Blob,并可在常规用途 v2、高级块 Blob 和 Blob 存储帐户中追加 Blob。 生命周期管理不会影响系统容器,例如$logs$web容器。

规则是条件的定义,以及用于处理对象的关联作和筛选器。 下表描述了每个规则元素。

规则元素 说明
条件 条件基于以下三个 Blob 属性:创建时间、上次修改时间和上次访问时间(如果启用了访问时间跟踪)
行动 操作将应用于符合关联条件的筛选后的数据块。 必须为每个规则至少定义一个操作,例如将 Blob 层级更改为冷层,或者删除 Blob。
过滤 器 通过使用路径前缀和 Blob 标记,筛选器可将规则操作限制在存储帐户中的一部分 blob 上。 如果定义了多个筛选器,则对所有筛选器运行逻辑 AND。 可以使用筛选器指定要包含的 Blob 对象。 筛选器不提供指定要排除的 Blob 的方法。

策略执行

添加或编辑生命周期策略的规则时,更改最多可能需要在 24 小时后才会生效并开始首次执行。

活动策略会定期处理对象,但如果对策略进行了更改,则处理过程会被中断。 如果删除某个策略,则不会计划任何新策略运行,但如果某个运行已经在进行中,该运行将继续进行,直到运行完成,并且你需要为完成该运行所需的任何操作付费。 如果禁用策略中的所有规则,则该策略将变为非活动状态。 如果某个运行已经在进行中,该运行会在 24 小时内停止,并且不会计划任何新运行。 建议先禁用策略,等待 24 小时,然后删除策略。

运行完成所需的时间取决于评估并操作的 blob 数。 如果存储帐户的请求速率接近存储帐户限制,处理和执行 Blob 的延迟可能会更长。 向存储帐户发出的所有请求(包括策略运行发出的请求)都会累积到相同的每秒请求数限制,并且随着该限制的临近,优先级将授予工作负载发出的请求。 若要请求增加帐户限制,请与 Azure 支持联系。

若要查看默认比例尺限制,请参阅以下文章:

详细了解生命周期管理性能特征

可以通过订阅 LifecyclePolicyCompleted 事件并使用指标和日志诊断错误来监视策略执行的结果。 请参阅 生命周期管理策略监视

账单管理

生命周期管理策略不收取费用。 不过客户需要支付设置 Blob 层 API 调用的标准操作成本费用。 而删除操作亦不会收取费用。 但是,其他 Azure 服务和实用工具(如 Microsoft Defender for Storage)可能会对通过生命周期策略进行管理的操作进行收费。

需要在其他操作类别下支付每次 Blob 的“上次访问时间”更新所需的费用。 每次“上次访问时间”更新都会作为“其他事务”被收取费用,24 小时内最多对每个对象收取一次费用,即使它在一天内被访问了数千次。 这与读取事务费用是分开的。

有关定价的详细信息,请参阅块 Blob 定价

已知问题和限制

  • 高级块 Blob 存储帐户尚不支持分层。 对于所有其他帐户,仅允许对块 Blob 进行分层,而不允许对追加 Blob 和页 Blob 进行分层。

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

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

  • 生命周期管理策略不能用于将使用加密范围的 Blob 层更改为存档层。

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

  • 生命周期管理不会影响系统容器,例如$logs$web�containers

常见问题 (FAQ)

请参阅生命周期管理常见问题解答

后续步骤