设置自动履行¶
本节介绍如何为安全共享数据产品和应用程序包数据产品设置 Cross-Cloud Auto-Fulfillment(自动履行)。还描述了如何为列表设置对象级自动履行。
您必须先将数据产品添加到您的列表中,然后才能设置自动履行。此外,设置自动履行的步骤会有所不同,具体取决于您提供的数据产品以及您如何提供列表。
设置对象级自动履行¶
您可以配置自动履行,以便将与列表相关的数据产品传输到其他 Snowflake 区域。您可以使用 SUB_DATABASE 自动履行,选择使用自动履行功能仅将数据产品中的表和视图履行到远程区域。这有助于降低成本并减轻自动履行数据产品的可管理性负担。
以下步骤描述了如何为列表设置对象级自动履行。作为典型工作流程的一部分,设置区域可用性(对于在 Snowflake Marketplace 上发布的列表)或添加位于另一个区域的使用者(对于私下共享的列表)时,您可以设置对象级自动履行。
创建列表。请参阅 创建新列表。
添加只包含受支持对象的数据产品。
设置与之共享的区域或账户,开始设置自动履行:
对于发布到 Snowflake Marketplace 的列表:
找到 Region Availability 部分并选择 Add。
对于 Region availability,保留 All regions 的默认值,或为您的列表选择 Custom regions。
对于私下共享的列表,可在远程区域添加一个使用者账户。
选择您偏好的刷新间隔,以更新远程区域的数据产品。
发布列表,或将其保存为草稿。
设置跨数据库列表的自动履行¶
服务提供商可以创建一个跨数据库的单个列表,无需为每个列表创建单独的组合数据库。在这种情况下,与某个数据库关联的所有列表会一起自动履行。
工作流程¶
提供商拥有一个要共享的数据库(主数据库)。它们在该数据库中也存在引用另一个数据库(引用数据库)对象的视图。
提供商在主数据库中创建共享。
使用 GRANT <privilege> ... SHARE 时,提供商应向共享授予以下所需权限:
提供商对包含共享视图的主数据库授予 USAGE 权限。
提供商对共享引用的数据库授予 REFERENCE_USAGE 权限。
提供商对包含共享视图的架构授予 USAGE 权限。
提供商对共享视图授予 SELECT 权限。
提供商创建包含共享的列表,并启用适用于跨区域、跨云使用者的 自动履行。
有关更多信息,请参阅 共享多个数据库中的数据。
支持的引用类型¶
当 REFERENCE_USAGE 权限被授予数据库的共享对象时,支持以下引用类型:
引用另一个数据库中的表或视图的视图。
具有策略的表或视图(当这些策略存储在另一个数据库中时)。
具有标签的表或视图(当这些标签存储在另一个数据库中时)。
备注
只有在授予引用使用权限的情况下,系统才会复制其他数据库中没有附加策略的标签。否则,系统将跳过复制。有关更多信息,请参阅 GRANT <privilege> ... SHARE。如果在基于标签的掩码中使用标签,则共享将被视为具有行访问策略的表或视图。
限制¶
在刷新数据时,Snowflake 会将列表分组在一起。设置跨多个数据库的列表可以更改列表的分组方式。因此,以下内容可能会受到影响:
更新自动履行计划后,列表刷新历史记录可能会丢失或不正确。
Setting the
refresh_schedule_overrideoption 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 上创建列表的示例,请参阅 创建和发布列表。