为 block blob 配置对象复制功能

对象复制在源存储帐户和目标帐户之间异步复制块 blob。 配置对象复制时,需要创建复制策略,以指定源存储帐户和目标帐户。 复制策略包括一个或多个规则,用于指定源容器和目标容器,并指明复制源容器中的哪些块 blob。 有关对象复制的详细信息,请参阅针对块 Blob 的对象复制

本文介绍如何使用 Azure 门户、PowerShell 或 Azure CLI 配置对象复制策略。 还可以使用其中一个 Azure 存储资源提供程序客户端库来配置对象复制。

先决条件

在配置对象复制之前,请创建源和目标存储帐户(如果它们尚不存在)。 源和目标帐户可以是常规用途 v2 存储帐户或高级块 Blob 帐户。 有关详细信息,请参阅 创建 Azure 存储帐户

对象复制要求为源帐户和目标帐户启用 Blob 版本管理,并且为源帐户启用 Blob 更改源提要。 若要了解有关 Blob 版本控制的详细信息,请参阅 Blob 版本控制。 若要详细了解更改源,请参阅 Azure Blob 存储中的更改源支持。 请记住,启用这些功能可能会导致额外的成本。

若要为存储帐户配置对象复制策略,必须被分配为 Azure 资源管理器贡献者角色,其作用域应限定为存储帐户级别或更高级别。 有关详细信息,请参阅 Azure 基于角色的访问控制 (Azure RBAC) 文档中的 Azure 内置角色

在启用了分层命名空间的帐户中尚不支持对象复制。

使用对两个存储帐户的访问权限配置对象复制

如果同时有权访问源存储帐户和目标存储帐户,则可以在两个帐户上配置对象复制策略。 以下示例演示如何使用 Azure 门户、PowerShell 或 Azure CLI 配置对象复制。

在 Azure 门户中配置对象复制时,只需在源帐户上配置策略。 为源帐户配置策略后,Azure 门户会自动在目标帐户上创建策略。

若要在 Azure 门户中创建复制策略,请执行以下步骤:

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

  2. “数据管理”下,选择 “对象复制”。

  3. 选择“ 创建复制规则”。

  4. 选择目标订阅和存储帐户。

  5. “容器对详细信息 ”部分中,从源帐户中选择源容器,并从目标帐户中选择目标容器。 从 Azure 门户,可以为每个复制策略创建最多 10 对容器。 若要配置 10 多个容器对(最多 1000 个),请参阅 使用 JSON 文件配置对象复制

    下图显示了一组复制规则。

    显示 Azure 门户中的复制规则的屏幕截图

  6. 如果需要,请指定一个或多个筛选器以仅复制与前缀模式匹配的 blob。 例如,如果指定前缀 b,则仅复制名称以该字母开头的 blob。 可以将虚拟目录指定为前缀的一部分。 最多可以添加五个前缀匹配项。 前缀字符串不支持通配符。

    下图显示了在复制规则中,用于限制哪些 Blob 被复制的筛选器。

    显示复制规则筛选器的屏幕截图

  7. 默认情况下,复制范围设置为仅复制新对象。 若要复制容器中的所有对象或从自定义日期和时间开始复制对象,请选择 更改 链接并为容器对配置复制范围。

    下图显示了从指定日期和时间开始复制对象的自定义复制范围。

    显示对象复制的自定义复制范围的屏幕截图

  8. 选择“ 保存并应用 ”以创建复制策略并开始复制数据。

配置对象复制后,Azure 门户会显示复制策略和规则,如下图所示。

显示 Azure 门户中的对象复制策略的屏幕截图

使用 JSON 文件配置对象复制

如果没有源存储帐户的权限,或者想要使用超过 10 个容器对,则可以在目标帐户上配置对象复制,并向另一个用户提供包含策略定义的 JSON 文件,以在源帐户上创建相同的策略。 例如,如果源帐户位于与目标帐户不同的Microsoft Entra 租户中,则可以使用此方法配置对象复制。

有关如何创作包含策略定义的 JSON 文件的信息,请参阅 策略定义文件

注释

默认情况下,存储帐户允许跨租户对象复制。 若要防止跨租户复制,可以将 AllowCrossTenantReplication 属性设置为禁止存储帐户的跨租户对象复制。 有关详细信息,请参阅“ 防止跨 Microsoft Entra 租户进行对象复制”。

本节中的示例演示如何在目标帐户上配置对象复制策略,然后获取另一个用户可用于在源帐户上配置策略的 JSON 文件。

若要在 Azure 门户中使用 JSON 文件在目标帐户上配置对象复制,请执行以下步骤:

  1. 创建一个本地 JSON 文件,该文件定义目标帐户上的复制策略。 将 policyId 字段设置为 默认值 ,以便 Azure 存储定义策略 ID。

    创建定义复制策略的 JSON 文件的一种简单方法是首先在 Azure 门户中的两个存储帐户之间创建测试复制策略。 然后,可以下载复制规则并根据需要修改 JSON 文件。

  2. 导航到 Azure 门户中目标帐户的对象复制设置

  3. 选择“ 上传复制规则”。

  4. 上传 JSON 文件。 Azure 门户显示将创建的策略和规则,如下图所示。

    显示如何上传 JSON 文件以定义复制策略的屏幕截图

  5. 选择 “上传 ”以在目标帐户上创建复制策略。

然后,可以下载一个 JSON 文件,其中包含可以提供给其他用户配置源帐户的策略定义。 若要下载此 JSON 文件,请执行以下步骤:

  1. 导航到 Azure 门户中目标帐户的对象复制设置。

  2. 选择要下载的策略旁边的“ 更多 ”按钮,然后选择“ 下载规则”,如下图所示。

    显示如何将复制规则下载到 JSON 文件的屏幕截图

  3. 将 JSON 文件保存到本地计算机,以便与其他用户共享,以在源帐户上配置策略。

下载的 JSON 文件包括为目标帐户上的策略创建的 Azure 存储的策略 ID。 必须使用相同的策略 ID 在源帐户上配置对象复制。

请记住,上传 JSON 文件以通过 Azure 门户为目标帐户创建复制策略不会在源帐户中自动创建相同的策略。 在 Azure 存储开始复制对象之前,另一个用户必须在源帐户上创建策略。

配置复制指标

启用复制指标

可以在新的和现有的对象复制策略上启用复制指标。 开始观察指标可能需要几分钟时间。

可以通过使用对象复制边栏选项卡在新的指标列中启用指标,或者通过编辑策略行上的编辑规则部分来编辑策略。

如果在配置为复制现有数据的策略上启用指标,则在策略在初始列表阶段工作时,可能会在开始时观察到增加的数量。 完成此步骤后,复制过程将启动。

查看复制指标

可以单击“指标”列中的 “查看” 链接以查看监视指标

若要进一步查看 Azure Monitor 中的指标,请单击指标图表。 这会将你定向到具有更多筛选功能的 Azure Monitor 指标视图。

检查 Blob 的复制状态

可以使用 Azure 门户、PowerShell 或 Azure CLI 检查源帐户中 Blob 的复制状态。 在复制完成或失败之前,不会填充对象复制属性。

若要在 Azure 门户中的源帐户中检查 Blob 的复制状态,请执行以下步骤:

  1. 在 Azure 门户中导航到源帐户。
  2. 找到包含源 Blob 的容器。
  3. 选择 Blob 以显示其属性。 如果已成功复制 Blob,则会在 “对象复制 ”部分看到状态设置为 “完成”。 此容器还列出了复制策略 ID 和控制对象复制规则的 ID。

显示源帐户中 Blob 的复制状态的屏幕截图

删除复制策略

若要删除复制策略及其关联的规则,请使用 Azure 门户、PowerShell 或 CLI。

若要在 Azure 门户中删除复制策略,请执行以下步骤:

  1. 在 Azure 门户中导航到源存储帐户。
  2. “设置”下,选择 “对象复制”。
  3. 选择策略名称旁边的 “更多 ”按钮。
  4. 选择 “删除规则”。

后续步骤