在 Snowflake Data Clean Rooms 中管理 Cross-Cloud Auto-Fulfillment¶
关于 Cross-Cloud Auto-Fulfillment¶
在默认的 Clean Room 环境中,Clean Room 只能与同一云区域中的账户共享。也就是说,提供商和使用者必须位于同一云区域中。
如果协作者的账户与您的账户分别位于不同的区域,且您想要与其协作,则必须为 Clean Room 环境和 Clean Room 启用 Cross-Cloud Auto-Fulfillment,如本页所示。
您可以通过运行 SELECT CURRENT_REGION(); 确定您自己的云区域
备注
Cross-Cloud Auto-Fulfillment 有时被称为 LAF,代表 列表自动履行。
启用 Cross-Cloud Auto-Fulfillment¶
您可以使用 API 或 UI 启用 Cross-Cloud Auto-Fulfillment。但请注意 跨区域协作的局限性。
先决条件¶
要为账户启用 Cross-Cloud Auto-Fulfillment,所有协作者的组织管理员必须先通过调用 SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT 在账户上启用该功能。
在 UI 中启用 Cross-Cloud Auto-Fulfillment¶
Clean Room 管理员按照以下步骤在账户级别为所有新的和现有的 Clean Room 启用 Cross-Cloud Auto-Fulfillment:
在 API 中启用 Cross-Cloud Auto-Fulfillment¶
即使您已经在 UI 中启用了 Cross-Cloud Auto-Fulfillment,也可以按照这些说明在 API 中创建或安装 Clean Room。
账户管理员操作¶
要使用 API 为账户启用 Cross-Cloud Auto-Fulfillment,提供商和使用者账户中的管理员都必须使用 ACCOUNTADMIN 角色运行以下 SQL 代码。对于每个账户,仅需运行一次。
提供商和使用者操作¶
为账户启用 Cross-Cloud Auto-Fulfillment 后,以下是在创建或安装 Clean Room 时启用 Cross-Cloud Auto-Fulfillment 的方法:
提供商 通过调用
provider.create_or_update_cleanroom_listing以正常方式发布 Clean Room。使用者 通过调用
consumer.install_cleanroom安装 Clean Room。如果使用者与提供商位于不同的云区域,则consumer.install_cleanroom会失败并显示一条消息,提示正在安装 Cross-Cloud Auto-Fulfillment 副本。使用者 继续调用
consumer.install_cleanroom直至返回“成功”。安装只需几分钟时间。此时,使用者可以使用基本的 Clean Room 功能。要支持客户端自定义模板请求、提供商运行分析和提供商激活,请执行以下附加步骤:
提供商 持续调用
provider.mount_request_logs_for_all_consumers,直到过程报告成功。这意味着使用者与提供商之间的通信已启用。
完整设置代码示例:
提供商: 提供商以标准方式创建、共享和发布 Clean Room。
使用者: 使用者安装 Clean Room。
提供商: 使用者安装 Clean Room 后,提供商必须挂载请求共享,以在提供商与使用者之间启用基于请求的操作。基于请求的操作包括运行分析的提供商请求,以及向 Clean Room 添加模板的使用者请求。
此时可以使用完整的提供商/使用者功能。
跨区域账户的刷新频率¶
当提供者和使用者位于不同的云区域时,请求和数据会受制于复制频率设置。
从提供商到使用者的请求和数据¶
这包括提供商向使用者发出的所有数据和请求,例如创建或更新 Clean Room、更改提供商数据、权限请求(例如提供商运行分析)以及请求审批(例如使用者模板)。
您可以通过调用 set_laf_dcr_refresh_schedule 将提供商的刷新率更改为使用者。
数据 |
默认刷新率 |
|---|---|
提供商 Clean Room 数据,例如以下内容:
|
|
从使用者到提供商的请求和数据¶
下表显示了使用者向提供商发送的数据和请求的默认刷新率:
您可以为每个 Clean Room 控制使用者到提供商的刷新率。
数据 |
默认刷新率 |
|---|---|
请求、审批和变更,例如:
|
|
提供商激活数据: |
|
与跨区域协作相关的成本¶
如果协作者在不同的区域,则需要支付额外费用。有关这些成本如何产生的更多信息,请参阅 自动履行成本。
对跨区域协作的限制¶
跨区域协作存在以下限制:
在使用 Clean Room UI 时,您可以与 同一 UI 网关区域 中的其他 UI 用户启用跨区域协作。例如,位于 AWS US 东部(俄亥俄州)的账户可以与 AWS US 西部(俄勒冈州)地区的账户共享,因为他们有相同的 UI 网关区域,即 AwS US 东部(弗吉尼亚北部)。位于 AWS US 东部(俄亥俄州)的账户无法与位于 AWS 加拿大的账户协作,因为它们不共享网关区域。但是,在使用 API 时,任何账户都可以配置为跨区域协作。
提供商不能在 Clean Room 中使用差分隐私。
协作者无法在 Clean Room 中关联外部表和 Iceberg 表。
使用者无法运行多提供商分析。
在跨云协作场景中,一个账户不能同时充当提供商和使用者,因为可能会发生复制类型冲突。
请参阅 启用跨区域协作时的其他注意事项。