为 Cross-Cloud Auto-Fulfillment 配置对象级复制

如果您希望将与您的列表关联的数据产品自动复制到其他 Snowflake 区域,请配 Cross-Cloud Auto-Fulfillment。当为列表启用自动履行时,Snowflake 会根据需要自动将您的数据产品复制到远程区域。

通常,Snowflake 会复制包含数据产品的整个数据库,即表、架构、UDFs、UDTFs、视图和您添加到列表中的其他数据库对象。

为帮助降低成本和减轻管理负担,您可以使用对象级复制,选择使用自动履行功能仅将数据产品中的表和视图复制到远程区域。

关于对象级复制

对象级复制只将数据产品中的表和视图以及数据产品中安全视图引用的任何表复制到远程区域。有关更多详细信息,请参阅 对象级复制会复制哪些内容

配置自动履行时,如果数据产品只包含受支持的对象,则会使用对象级复制。

示意图显示 AWS US 东部(俄亥俄州)区域的使用者账户从 Snowflake Marketplace 获取数据产品,然后 Snowflake 启动自动履行,将数据产品从提供商账户和区域(AWS US 西部[俄勒冈州])复制到使用者区域(AWS US 东部[俄亥俄州])的安全共享区域。在这种情况下,数据产品使用的是对象级复制,因此提供商数据库中的共享以及仅共享中的对象都会被复制到 AWS US 东部(俄亥俄州)的安全共享区域,当使用者安装数据产品时,他们会从其所在区域的安全共享区域进行安装。
  1. 地区中的第一位使用者将获得列表。

  2. 自动履行将共享中的对象复制到安全共享区域。

  3. 任何获得列表的使用者都可以从其 Snowflake 地区的安全共享区获取数据产品。

对象级复制支持的对象

如果您的数据产品包含以下对象,您可以使用对象级复制来自动履行列表:

以下情况不能使用对象级复制:

  • 如果您的数据产品包含其他对象,如数据库角色、标签、掩码和行访问策略以及动态表。如果您的数据产品包含这些对象,自动履行将改为复制整个数据库。

  • 如果数据产品中的对象已经作为整个数据库复制到一个或多个区域,例如作为另一个列表的一部分。

包含不符合对象级复制条件的对象的数据产品仍可使用自动履行功能,在这种情况下,整个数据库会复制到远程区域。请参阅 配置 Cross-Cloud Auto-Fulfillment

对象级复制会复制哪些内容

使用对象级复制复制数据产品时,只复制直接授予共享或应用程序的对象,或共享或应用程序包中安全视图引用的对象。

例如:

数据产品中的对象

复制的内容

数据库中的表和架构

从同一数据库中的表创建的安全视图

安全视图和表

通过不同数据库中的表创建安全视图,并使用 REFERENCE_USAGE 授予共享

安全视图和表

数据库中已复制的表

整个数据库

设置对象级复制

设置区域可用性(对于在 Snowflake Marketplace 上发布的列表)或添加位于另一个区域的使用者(对于私下共享的列表)时,您可以设置对象级复制。

  1. 创建列表。请参阅 创建和发布列表

  2. 添加只包含受支持对象的数据产品。要添加包含使用 REFERENCE_USAGE 权限授予共享的安全视图的数据产品,请参阅 通过使用对象级复制,共享引用另一个数据库对象的安全视图

  3. 设置与之共享的区域或账户,开始设置自动履行:

    • 有关在 Snowflake Marketplace 上发布的列表:

      1. 找到 Region Availability 部分并选择 Add

      2. 对于 Region availability,保留 All regions 的默认值,或为您的列表选择 Custom regions

    • 对于私下共享的列表,可在远程区域添加一个使用者账户。

  4. 对于 Fulfillment method,保留 Automatic 的默认值。

  5. 验证 What gets replicated,您会看到 Objects in your data product

  6. 选择所需的刷新频率,以满足您希望在远程区域更新数据产品的频率。

  7. 发布列表,或将其保存为草稿。

通过使用对象级复制,共享引用另一个数据库对象的安全视图

创建列表时不能选择安全视图,也不能使用 Snowsight 创建共享。相反,要共享引用不同数据库中的表的安全视图:

  • 使用 REFERENCE_USAGE 权限为共享授予安全视图。请参阅 共享来自多个数据库的数据

  • 确保视图引用的数据库没有作为另一个列表的一部分,或通过账户或数据库复制复制到远程区域。

创建安全视图并使用 REFERENCE_USAGE 权限将其授予共享后,创建一个列表,以便在 Snowflake Marketplace 上发布数据产品或与特定使用者共享:

  1. 创建列表。请参阅 创建和发布列表

  2. 将共享添加为数据产品。

  3. 设置与之共享的区域或账户,开始设置自动履行:

    • 有关在 Snowflake Marketplace 上发布的列表:

      1. 找到 Region Availability 部分并选择 Add

      2. 对于 Region availability,保留 All regions 的默认值,或为您的列表选择 Custom regions

    • 对于私下共享的列表,可在远程区域添加一个使用者账户。

  4. 对于 Fulfillment method,保留 Automatic 的默认值。

  5. 验证 What gets replicated,您会看到 Objects in your data product and referenced objects

  6. 数据产品的刷新频率取决于账户级别的设置。请参阅 设置账户级别刷新频率

  7. 发布列表,或将其保存为草稿。

语言: 中文