将存档的 Blob 解冻到联机层

若要读取存档层中的 blob,必须先将该 blob 解除冻结到联机层(热层或冷层)。 可以通过以下两种方式之一解除冻结 Blob:

  • 使用复制 Blob 操作将其复制到热层或冷层中的新 blob。
  • 使用设置 Blob 层操作将其层从存档层更改为热层或冷层。

在解除冻结 blob 时,可以将操作优先级指定为标准优先级或高优先级。 标准优先级解除冻结操作可能需要 15 个小时才能完成。 高优先级操作的优先级高于标准优先级请求,对于大小不到 10 GB 的对象,可以在一小时内完成。 操作挂起时,可以将解除冻结优先级从“标准”更改为“高” 。

你可以配置 Azure 事件网格,用于在解除冻结完成时触发事件,并运行应用程序代码进行响应。 若要了解如何在 Blob 解除冻结操作完成后处理运行 Azure 函数的事件,请参阅运行 Azure 函数以响应 Blob 解除冻结事件

有关解除冻结 blob 的详细信息,请参阅存档层中的 blob 解除冻结

使用复制操作解除冻结 Blob

若要通过将 blob 从存档层复制到联机层来解除冻结 blob,请使用 PowerShell、Azure CLI 或任一 Azure 存储客户端库。 请注意,当你将存档的 Blob 复制到联机层时,源 Blob 和目标 Blob 必须使用不同的名称。

支持在同一存储帐户中将存档的 Blob 复制到联机目标层。 从服务版本 2021-02-12 开始,只要目标帐户与源帐户位于同一区域中,就可以将存档的 Blob 复制到其他存储帐户。

复制操作完成后,目标 blob 将显示在存档层中。 然后,目标 Blob 将被解除冻结到你在复制操作中指定的联机层。 目标 Blob 完全解除冻结后,它将在新的联机层中可用。

将 Blob 解除冻结到同一存储帐户

以下示例展示了如何将存档的 Blob 复制到同一存储帐户的热层中的 Blob。

空值

将 Blob 解除冻结到同一区域中的其他存储帐户

以下示例展示了如何将存档的 Blob 复制到其他存储帐户的热层中的 Blob。

空值

从次要区域解除冻结

如果将存储帐户配置为使用读取访问异地冗余存储 (RA-GRS),则可以将位于次要区域中已存档的 blob 复制到位于同一次要区域中不同存储帐户中的联机层。

若要从次要区域解除冻结,请使用上一部分中介绍的相同指南(将 Blob 解除冻结到同一区域中的不同存储帐户。 追加后缀 -secondary 到源终结点的帐户名称。 例如,如果 Blob 存储的主终结点是 myaccount.blob.core.chinacloudapi.cn,则辅助终结点是 myaccount-secondary.blob.core.chinacloudapi.cn。 存储帐户的帐户访问密钥对于主要终结点和次要终结点是相同的。

若要详细了解如何获取对次要区域的读取访问权限,请参阅对次要区域中数据的读取访问权限

通过更改 Blob 层解除冻结 Blob

若要通过将 blob 从存档层更改为热层或冷层来解除冻结 blob,可以使用 Azure 门户、PowerShell 或 Azure CLI。

若要在 Azure 门户中将 blob 层从存档层更改为热层或冷层,请执行以下步骤:

  1. 在 Azure 门户中找到要解除冻结的 Blob。

  2. 选择页面右侧的“更多”按钮。

  3. 选择“更改层”。

  4. 从“访问层”下拉菜单中选择目标访问层。

  5. 从“解除冻结优先级”下拉菜单中,选择所需的解除冻结优先级。 请注意,将“解除冻结优先级”设置为“高”通常会加快解除冻结速度,但同时也会增加成本。

    显示如何在 Azure 门户中解除冻结存档层中的 blob 的屏幕截图

  6. 选择“保存”按钮。

批量解除冻结一组 blob

要一次解除冻结大量 blob,请调用 Blob 批处理 操作,将设置 Blob 层作为批量操作调用。 有关演示如何执行批处理操作的代码示例,请参阅 AzBulkSetBlobTier

查看解除冻结操作的状态

在对 Blob 解除冻结时,可以使用 Azure 门户、PowerShell 或 Azure CLI 查看其状态和解除冻结优先级。 状态属性可能返回 rehydrate-pending-to-hot 或 rehydrate-pending-to-cool,具体取决于解除冻结操作的目标层。 解除冻结优先级属性会返回“标准”或“高” 。

请注意,解除冻结存档的 Blob 可能需要 15 个小时才能完成,如果通过反复轮询 Blob 的状态来确定解除冻结是否完成,效率会很低。 通过使用 Azure 事件网格捕获在解除冻结完成时触发的事件,能够提高性能并优化成本。 若要了解如何在因 Blob 解除冻结而触发事件时运行 Azure 函数,请参阅运行 Azure 函数以响应 Blob 解除冻结事件

若要在 Azure 门户中查看挂起的解除冻结操作的状态和优先级,请显示 Blob 的“更改层”对话框:

显示 Azure 门户中 Blob 的解除冻结状态的屏幕截图

解除冻结完成后,可以在 Azure 门户看到,完全解除冻结的 Blob 现在显示在目标联机层中。

显示冷层中已解除冻结的 blob 以及事件处理程序写入的日志 blob 的屏幕截图

更改挂起操作的解除冻结优先级

当标准优先级的解除冻结操作处于挂起状态时,可以将 blob 的解除冻结优先级设置从“标准”更改为“高”,以便更快地解除冻结该 blob 。

对于挂起的操作,不能将解除冻结优先级设置从“高”降低到“标准”。 另请注意,更改解除冻结优先级可能会对计费产生影响。 有关详细信息,请参阅存档层中的 blob 解除冻结

更改挂起的“设置 Blob 层”操作的解除冻结优先级

若要在标准优先级设置 Blob 层操作挂起时更改解除冻结优先级,请使用 Azure 门户、PowerShell、Azure CLI 或 Azure 存储客户端库之一。

若要使用 Azure 门户更改挂起操作的解除冻结优先级,请执行以下步骤:

  1. 导航到要为其更改解除冻结优先级的 blob,然后选择该 blob。

  2. 选择“更改层”按钮。

  3. 在“更改层”对话框中,将访问层设置为要解除冻结的 blob 的目标联机访问层(热或冷)。 “存档状态”字段显示目标联机层。

  4. 在“解除冻结优先级”下拉菜单中,将优先级设置为“高”。

  5. 选择“保存”。

    屏幕截图显示了如何在 Azure 门户中更新要解除冻结的 blob 的解除冻结优先级

更改挂起的“复制 Blob”操作的解除冻结优先级

通过将存档的 blob 复制到联机层来解除冻结 blob 时,Azure 存储会立即在存档层中创建目标 blob。 然后,目标 blob 会根据复制操作中指定的优先级解除冻结到目标层。 有关使用复制操作解除冻结存档 blob 的详细信息,请参阅将存档 blob 复制到联机层

若要执行从存档层到具有标准优先级的联机层的复制操作,请使用 PowerShell、Azure CLI 或 Azure 存储客户端库之一。 有关详细信息,请参阅使用复制操作解除冻结 blob。 接下来,若要将挂起的解除冻结操作的解除冻结优先级从“标准”更改为“高”,请对目标 blob 调用“设置 Blob 层”并指定目标层 。

启动复制操作后,将在 Azure 门户中看到源和目标 blob 都位于存档层中。 目标 blob 正在以标准优先级解除冻结。

屏幕截图显示了存档层中的目标 blob,该 blob 正在以标准优先级解除冻结

若要更改目标 blob 的解除冻结优先级,请执行以下步骤:

  1. 选择目标 blob。
  2. 选择“更改层”按钮。
  3. 在“更改层”对话框中,将访问层设置为要解除冻结的 blob 的目标联机访问层(热或冷)。 “存档状态”字段显示目标联机层。
  4. 在“解除冻结优先级”下拉菜单中,将优先级设置为“高”。
  5. 选择“保存”。

现在,目标 blob 的属性页显示其以高优先级解除冻结。

屏幕截图显示了存档层中的目标 blob,该 blob 正在以高优先级解除冻结

请参阅