模板¶
模板是可由指定协作者运行的 JinjaSQL Clean Room 模板。任何协作者都可以与 Collaboration 中的协作者共享模板。您只能请求添加或移除您的账户已注册的模板。
继续阅读,了解如何注册模板并将模板添加到 Collaboration 中:
注册模板¶
请按照以下步骤注册模板:
注册模板后,任何对该注册表具有读取权限的人都可以将其链接到协作中。
添加模板¶
请求添加模板的过程取决于协作是否已存在。
要在创建协作之前添加模板, 请将模板 ID 提供给协作所有者,协作所有者会将其包含在 协作规范 中,指定谁可以运行该模板。在以下 Collaboration 代码段中,
alice被授予运行模板bob_template_v1的访问权限。
**要将模板添加到现有 Collaboration 中,**请按照以下步骤向所有潜在共享者发送请求:
使用模板 ID 调用 ADD_TEMPLATE_REQUEST 以启动审批流程,以便为特定用户将模板添加到特定协作。
受模板影响的所有协作者在调用 VIEW_UPDATE_REQUESTS 时都会看到请求。
看到状态为 PENDING_MY_APPROVAL 的请求的协作者应该调用 APPROVE_UPDATE_REQUEST 或 REJECT_UPDATE_REQUEST。
如果有任何协作者拒绝请求,则更新请求都将被拒。
协作者之后无法将批准更改为拒绝,或将拒绝更改为批准。
在 所有 请求方批准请求之前,不会共享模板。
协作者无法之后将批准更改为拒绝,或将拒绝更改为批准。
在您批准后,如果仍需其他协作者批准,状态将更改为 PENDING_PARTNER_APPROVAL。
当所有要求的协作者都批准后,状态将更改为 APPROVED,更新将自动应用。更新请求的终端状态为 COMPLETED 和 FAILED。当请求状态为 COMPLETED 时,模板可供模板添加请求中指定的用户使用。如果请求处于 FAILED 状态,请参阅 VIEW_UPDATE_REQUESTS 中的 DETAILS 列了解失败详细信息。如果有任何协作者拒绝请求,状态将为 REJECTED,且拒绝方提供的任何原因都可以在请求报告中查看。
获得所有用户批准后,模板在可用之前可能会有短暂的延迟。调用 VIEW_TEMPLATES 以确认模板可供使用。
小技巧
要查看您注册了哪些模板,请调用 VIEW_REGISTERED_TEMPLATES。
请参阅 运行分析 了解如何运行分析。
模板设计¶
协作模板与 提供商和使用者 Clean Room 模板 相同,但有一些特殊注意事项:
模板的
source_table变量由协作的数据产品填充。在大多数协作模板中,source_table是使用的唯一数据源变量。仅当分析运行者使用 Snowflake Standard Edition 并且无法为协作提供数据产品时,才会使用模板的
my_table。原始数据源中的列在向模板或用户公开时可以重命名。请参阅 源列重命名,了解如何以及何时重命名源列。如果重命名了列,模板和用户提供的实参(例如联接列名称)应使用最终名称,而不是原始名称。
协作中的激活模板无需命名为
activation_<template_name>。所有其他 激活模板要求 仍然适用。
有关 Snowflake Data Clean Room 中自定义模板语法的信息,请参阅 设计自定义模板。