设置自动履行

本节介绍如何为安全共享数据产品和应用程序包数据产品设置 Cross-Cloud Auto-Fulfillment(自动履行)。还描述了如何为列表设置对象级自动履行。

您必须先将数据产品添加到您的列表中,然后才能设置自动履行。此外,设置自动履行的步骤会有所不同,具体取决于您提供的数据产品以及您如何提供列表。

为在 Snowflake Marketplace 上共享的安全共享数据产品设置自动履行

如果您的数据产品是您使用列表发布到 Snowflake Marketplace 的安全共享,请按照以下步骤设置自动履行:

  1. 登录 Snowsight

  2. In the navigation menu, select Data sharing » Provider Studio » Listings.

  3. 选择您要设置自动履行的列表。

  4. Select Region Availability » Edit.

  5. Region availability 选择您需要的可用性。

    • 默认情况下,All regions 已选中。这样可确保您的列表在 Snowflake 未来添加的任何区域中的可用性。

    • 如果您的列表有特定的区域限制,请将区域可用性更改为 Custom regions,并选择您想要提供数据产品的区域。当您选择自定义区域时,您的列表在所有当前 Snowflake Marketplace 区域中都可见,但使用者只能在您指定的区域获取您的数据产品。您的列表不会在任何新区域中自动变得可用。

    • 对于付费列表,默认已选中 Custom regions。付费列表仅在 支持的区域 以及 Snowflake 未来添加的支持区域提供。

  6. 对于 Fulfillment method,默认已选中 Automatic 履行。通过 Cross-Cloud Auto-Fulfillment,您的数据产品会自动履行到某个区域,并且仅当该区域有使用者需求时才会产生成本。

    如果您无法使用自动履行而该选项可用,请选择 Manual 手动复制您的数据产品。请参阅 手动复制数据以履行列表请求

  7. 如果您为自动履行选择 Automatic,请执行以下操作:

    1. 从下拉列表中选择刷新间隔,然后输入一个值。您必须选择至少 8 天的刷新间隔。

    2. 如果您没有设置默认仓库,请选择一个仓库以用于自动履行。

    3. 当您将数据产品添加到列表中时,Snowflake 会执行兼容性检查,以验证您的数据产品是否可以自动履行到其他区域。如果检查返回任何不兼容性问题,您可能需要更新您的数据产品。请参阅 Auto-Fulfillment 故障排除

    4. 选择 Save and Enable Fulfillment

      列表的自动履行现已启用,但是在发布列表并且使用者请求数据产品之前,附于列表的数据产品不会履行到任何区域。请参阅 自动履行的工作原理

  8. 如果您选择手动履行列表,请选择 Save。在发布列表之前,您必须将数据复制到您选择的每个可用区域。请参阅 手动复制数据以履行列表请求

为在 Snowflake Marketplace 上共享的应用程序包数据产品设置自动履行

如果您的数据产品是一个应用程序包且通过列表发布到 Snowflake Marketplace,请按照以下步骤设置自动履行:

  1. 登录 Snowsight

  2. In the navigation menu, select Data sharing » Provider Studio » Listings.

  3. 选择您要设置自动履行的列表。

  4. Select Region Availability » Edit.

  5. Region availability 选择您需要的可用性。

    • 默认情况下,All regions 已选中。选择所有区域可确保您的列表在 Snowflake 未来添加的任何区域中的可用性。

    • 如果您的列表有特定的区域限制,请将区域可用性更改为 Custom regions,并选择您想要提供数据产品的区域。当您选择自定义区域时,您的列表在所有当前 Snowflake Marketplace 区域中都可见,但使用者只能在您指定的区域获取您的数据产品。您的列表也不会在任何新区域自动变得可用。

    • 对于付费列表,默认已选中 Custom regions。付费列表仅在 支持的区域 以及 Snowflake 未来添加的支持区域提供。

  6. 查看在账户级别配置的刷新间隔。如果您需要使用不同的刷新间隔,请参阅 设置账户级刷新间隔

  7. 如果您没有设置默认仓库,请选择一个仓库以用于自动履行。

  8. 选择 Save and Enable Fulfillment

    列表的自动履行现已启用,但是在发布列表并且使用者请求数据产品之前,附于列表的数据产品不会履行到任何区域。请参阅 自动履行的工作原理

设置对象级自动履行

您可以配置自动履行,以便将与列表相关的数据产品传输到其他 Snowflake 区域。您可以使用 SUB_DATABASE 自动履行,选择使用自动履行功能仅将数据产品中的表和视图履行到远程区域。这有助于降低成本并减轻自动履行数据产品的可管理性负担。

以下步骤描述了如何为列表设置对象级自动履行。作为典型工作流程的一部分,设置区域可用性(对于在 Snowflake Marketplace 上发布的列表)或添加位于另一个区域的使用者(对于私下共享的列表)时,您可以设置对象级自动履行。

  1. 创建列表。请参阅 创建新列表

  2. 添加只包含受支持对象的数据产品。

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

    对于发布到 Snowflake Marketplace 的列表:

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

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

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

  4. 选择您偏好的刷新间隔,以更新远程区域的数据产品。

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

设置跨数据库列表的自动履行

服务提供商可以创建一个跨数据库的单个列表,无需为每个列表创建单独的组合数据库。在这种情况下,与某个数据库关联的所有列表会一起自动履行。

工作流程

  1. 提供商拥有一个要共享的数据库(主数据库)。它们在该数据库中也存在引用另一个数据库(引用数据库)对象的视图。

  2. 提供商在主数据库中创建共享。

  3. 使用 GRANT <privilege> ... SHARE 时,提供商应向共享授予以下所需权限:

    1. 提供商对包含共享视图的主数据库授予 USAGE 权限。

    2. 提供商对共享引用的数据库授予 REFERENCE_USAGE 权限。

    3. 提供商对包含共享视图的架构授予 USAGE 权限。

    4. 提供商对共享视图授予 SELECT 权限。

    该图显示了跨数据库列表授予共享对象权限
  4. 提供商创建包含共享的列表,并启用适用于跨区域、跨云使用者的 自动履行

有关更多信息,请参阅 共享多个数据库中的数据

支持的引用类型

当 REFERENCE_USAGE 权限被授予数据库的共享对象时,支持以下引用类型:

  • 引用另一个数据库中的表或视图的视图。

  • 具有策略的表或视图(当这些策略存储在另一个数据库中时)。

  • 具有标签的表或视图(当这些标签存储在另一个数据库中时)。

    备注

    只有在授予引用使用权限的情况下,系统才会复制其他数据库中没有附加策略的标签。否则,系统将跳过复制。有关更多信息,请参阅 GRANT <privilege> ... SHARE。如果在基于标签的掩码中使用标签,则共享将被视为具有行访问策略的表或视图。

限制

在刷新数据时,Snowflake 会将列表分组在一起。设置跨多个数据库的列表可以更改列表的分组方式。因此,以下内容可能会受到影响:

  • 更新自动履行计划后,列表刷新历史记录可能会丢失或不正确。

  • Setting the refresh_schedule_override option may be required. When this option is missing, a resulting error message will include the list of listings that were affected by the change in the order that the listings were grouped.

使用说明

设置自动履行时,如果所选和引用的数据库包含现有列表,则 Data product refresh 部分的值默认使用现有刷新计划。因此,对自动履行刷新计划的变更适用于与此数据库和引用的数据库关联的所有其他列表。

示例

有关如何创建引用一个或多个数据库中对象和其他视图的安全视图示例,请参阅 共享多个数据库中的数据

创建安全视图后,您可以创建一个列表,其中包含安全视图和 设置列表中的自动履行。有关如何在 Snowflake Marketplace 上创建列表的示例,请参阅 创建和发布列表

语言: 中文