Snowflake Data Clean Room:提供商 API 参考指南¶
本指南介绍允许提供商创建、配置和共享 Clean Room 的 开发者 APIs。所有函数都位于以下架构内:
samooha_by_snowflake_local_db.provider
设置环境¶
在利用开发者 APIs 使用 Snowflake Data Clean Room 之前,请执行以下命令来设置 Snowflake 环境。如果您没有 SAMOOHA_APP_ROLE 角色,请联系账户管理员。
use role samooha_app_role;
use warehouse app_wh;
为 Clean Room 创建名称。Clean Room 名称 只能包含字母数字字符。除空格和下划线外,Clean Room 名称不能包含任何特殊字符。
set cleanroom_name = 'Test Cleanroom 1'; -- This must only have alphanumeric characters.
创建 Clean Room¶
使用以下命令创建和删除 Clean Room:
provider.cleanroom_init¶
描述:在账户中创建 Clean Room。您可以选择指定 Clean Room 的 分布类型,以指定这是仅在组织内部共享的测试 Clean Room (INTERNAL),还是打算与其他组织共享的生产 Clean Room (EXTERNAL)。
您可以将 Clean Room 从 INTERNAL 更改为 EXTERNAL,如下所示:
alter application package samooha_cleanroom_<CLEANROOM_ID> SET DISTRIBUTION = EXTERNAL;
实参:
cleanroom_name(字符串) – Clean Room 名称,最多 80 个字符。名称不区分大小写、A‑Z、a‑z、0‑9、空格和下划线。当创建 Clean Room 时,空格将会解析为下划线。
distribution(字符串,可选) – 以下值之一(默认值为 INTERNAL):
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
provider.set_default_release_directive¶
描述:设置 Clean Room 的版本指令,即协作者将收到的版本和补丁。
默认情况下,创建的所有 Clean Room 都有以下版本号和补丁号:
版本:V1_0
补丁:0
备注
如果 Clean Room 分布设置为 EXTERNAL,则只有在 Clean Room 安全扫描进入 APPROVED 状态后,才能调用此命令。要查看当前扫描状态,请调用:
show versions in application package samooha_cleanroom_<CLEANROOM_ID>;
实参: cleanroom_name(字符串)、version(字符串)、patch(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.set_default_release_directive($cleanroom_name, 'V1_0', '0');
provider.drop_cleanroom¶
描述:创建者可以删除现有的 Clean Room。此命令会完全删除 Clean Room,这意味着已安装 Clean Room 的使用者无法再访问或使用它。
实参: cleanroom_name(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
注册和取消注册数据¶
使用以下命令注册和取消注册数据库、架构和对象。必须先注册表和视图,然后才能将其链接到 Clean Room。如果您注册了一个数据库或架构,则还需注册该数据库或架构中的所有对象。
provider.register_db¶
描述:以调用者权限执行,允许账户管理员将数据库注册为对 Snowflake Data Clean Room 应用程序可见。数据库中的所有架构和表,以及 Snowflake Data Clean Room 本地应用程序 (SAMOOHA_BY_SNOWFLAKE) 都具有 SELECT 功能。
实参: db_name(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.register_db('SAMOOHA_SAMPLE_DATABASE');
library.register_schema¶
描述:与 register_db
类似,但在架构级运行。可以传入表示完全限定架构名称的数组或字符串,并授予 SAMOOHA_APP_ROLE 角色选择权限,使用户能够将架构中的对象链接到 Clean Room 中。
如果要注册托管访问架构(即使用 WITH MANAGED ACCESS 参数创建的架构),请改用 library.register_managed_access_schema
。
实参: schema_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.register_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.register_managed_access_schema¶
描述:类似于 register_schema
,但注册了使用 WITH MANAGED ACCESS 参数创建的架构。可以传入表示完全限定架构名称的数组或字符串,并授予 SAMOOHA_APP_ROLE 角色选择权限,使用户能够将架构中的对象链接到 Clean Room 中。
实参: schema_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.register_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.register_objects¶
描述:授予 Clean Room 访问所有类型的表和视图的权限,使其可以通过调用 provider.link_datasets
链接到 Clean Room。您可以通过调用 library.register_schema
、library.register_managed_access_schema
或 provider.register_db
注册更广泛的对象组。
实参:
object_names(数组) – 完全限定的对象名称数组。然后可以将这些对象链接到 clean room。
返回: success message(字符串)
示例
要注册表和视图:
call samooha_by_snowflake_local_db.library.register_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
library.register_table_or_view – 已弃用¶
注意
此命令现已弃用。 请使用 library.register_objects
描述:注册所有类型的表和视图。
实参: object_names(数组)、is_view(布尔)、is_iceberg(布尔)、is_external(布尔)、is_under_managed_access_schema(布尔)
返回: success message(字符串)
示例
要注册表:
call samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
要注册 Iceberg 表:
call samooha_by_snowflake_local_db.library.register_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
true,
false,
false);
library.register_table – 已弃用¶
注意
此命令现已弃用。 请使用 library.register_objects
描述:与 register_db
类似,但在表级运行。可以传入表示完全限定表名称的数组或字符串,并授予 SAMOOHA_APP_ROLE 角色选择权限,使用户能够将表链接到 clean room 中。
如果要在托管访问架构(即使用 WITH MANAGED ACCESS 参数创建的架构)中注册表,请改用 library.register_managed_access_table
。
实参: table_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_table – 已弃用¶
注意
此命令现已弃用。 请使用 library.register_objects
描述:类似于 register_table
,但在使用 WITH MANAGED ACCESS 参数创建的架构中注册表。可以传入表示完全限定表名称的数组或字符串,并授予 SAMOOHA_APP_ROLE 角色选择权限,使用户能够将表链接到 clean room 中。
实参: table_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_view – 已弃用¶
注意
此命令现已弃用。 请使用 library.register_objects
描述:与 register_db
类似,但在视图级运行。可以传入表示完全限定视图名称的数组或字符串,并授予 SAMOOHA_APP_ROLE 角色选择权限,使用户能够将视图链接到 clean room 中。
如果要在托管访问架构(即使用 WITH MANAGED ACCESS 参数创建的架构)中注册视图,请改用 library.register_managed_access_view
。
实参: view_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_view – 已弃用¶
注意
此命令现已弃用。 请使用 library.register_objects
描述:类似于 register_view
,但在使用 WITH MANAGED ACCESS 参数创建的架构中注册视图。可以传入表示完全限定视图名称的数组或字符串,并授予 SAMOOHA_APP_ROLE 角色选择权限,使用户能够将视图链接到 clean room 中。
实参: view_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.register_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_db¶
描述:颠倒 register_db
过程,并移除向 SAMOOHA_APP_ROLE 角色和 Snowflake Data Clean Room 本地应用程序授予的数据库级权限。这样还会从 UI 下拉元素中移除所有数据库。
实参: db_name(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
library.unregister_schema¶
描述:取消注册一个架构,以防止用户将其表和视图链接到 clean room。
如果要取消注册托管访问架构(即使用 WITH MANAGED ACCESS 参数创建的架构),请改用 library.unregister_managed_access_schema
。
实参: schema_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.unregister_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.unregister_managed_access_schema¶
描述:类似于 unregister_schema
,但取消注册了使用 WITH MANAGED ACCESS 参数创建的架构。
实参: schema_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.unregister_objects¶
描述:撤销 clean room 对所有类型的表和视图的访问权限。此账户管理的所有 clean room 中的任何用户将无法再使用这些对象。
实参:
object_names(数组) – 应该撤消访问权限的完全限定对象名称数组。
返回: success message(字符串)
示例
要取消注册表和视图:
call samooha_by_snowflake_local_db.library.unregister_objects(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS','SAMOOHA_SAMPLE_DATABASE.INFORMATION_SCHEMA.FIELDS']);
library.unregister_table_or_view – 已弃用¶
注意
此命令现已弃用。 请使用 library.unregister_objects
描述:取消注册所有类型的表和视图。
实参: object_names(数组)、is_view(布尔)、is_iceberg(布尔)、is_external(布尔)、is_under_managed_access_schema(布尔)
输出 success message(字符串)
示例
要取消注册表:
call samooha_by_snowflake_local_db.library.unregister_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
library.unregister_table – 已弃用¶
注意
此命令现已弃用。 请使用 library.unregister_objects
描述:与 unregister_db
类似,但在表级运行。可以传入表示完全限定表名称的数组或字符串来取消注册表。用户无法将取消注册的表链接到 clean room 中。
如果要在托管访问架构(即使用 WITH MANAGED ACCESS 参数创建的架构)中取消注册表,请改用 library.unregister_managed_access_table
。
实参: table_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_table – 已弃用¶
注意
此命令现已弃用。 请使用 library.unregister_objects
描述:类似于 unregister_table
,但在托管访问架构(即使用 WITH MANAGED ACCESS 创建的架构)中取消注册表。
实参: table_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_view – 已弃用¶
注意
此命令现已弃用。 请使用 library.unregister_objects
描述:与 unregister_db
类似,但在视图级运行。可以传入表示完全限定视图名称的数组或字符串来取消注册表。用户无法将取消注册的视图链接到 clean room 中。
如果要在托管访问架构(即使用 WITH MANAGED ACCESS 参数创建的架构)中注册视图,请改用 library.unregister_managed_access_view
。
实参: view_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_view – 已弃用¶
注意
此命令现已弃用。 请使用 library.unregister_objects
描述:类似于 unregister_view
,但在托管访问架构(即使用 WITH MANAGED ACCESS 创建的架构)中取消注册视图。
实参: view_name(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
管理数据集和表访问权限¶
使用以下命令为 Clean Room 添加数据和设置策略。
provider.link_datasets¶
描述:将 Snowflake 表链接到 Clean Room。该过程在 Clean Room 内创建表的安全视图,自动使 Clean Room 可以访问表,从而无需制作表副本。
第三个实参是可选的。如果不使用该实参来指定使用者列表,则 Clean Room 的所有使用者都可以访问指定的表。如果指定使用者,则只有这些使用者才能访问指定的表。
实参: cleanroom_name(字符串)、tables_list(数组)、consumer_list(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.link_datasets($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES']);
备注
在将视图链接到 Clean Room 之前,具有 ACCOUNTADMIN 角色的用户必须在 Snowflake 中执行以下语句:
grant reference_usage on database <DB NAME> to share in application package samooha_cleanroom_<cleanroom_name>;
provider.unlink_datasets¶
描述:删除所有用户对指定 clean room 中指定表的访问权限。提供商必须已链接指定的表。
输入: cleanroom_name(字符串), tables_list(数组)
输出: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.unlink_datasets($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES']);
provider.restrict_table_options_to_consumers¶
描述:控制特定使用者是否可以访问 Clean Room 中的表。
第二个参数是 JSON 对象,其中每个名/值对是表的名称和可以访问该表的使用者数组。每个使用者都使用其账户定位器来指定。
输入:cleanroom_name(字符串),access_details(变量)
输出:成功消息(字符串)
示例:
call samooha_by_snowflake_local_db.provider.restrict_table_options_to_consumers(
$cleanroom_name,
{
'DB.SCHEMA.TABLE1': ['CONSUMER_1_LOCATOR'],
'DB.SCHEMA.TABLE2': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
}
);
provider.set_join_policy¶
描述:指定在 Clean Room 内运行模板时,允许使用者对哪些列执行联接。请注意,列策略是 仅替换,因此如果再次调用该函数,先前设置的列策略将被当前策略完全替换。
请注意,检查会审查是将 where_clause 实参添加到 SQL Jinja 模版,还是将任意实参添加到 join_policy 筛选器。此检查可查找任何未经授权的列。使用这些检查可能无法找出含有通配符的查询,因此,设计分析模板时仍应慎重。
默认情况下,会对 SQL Jinja 实参(称为 where_clause)进行检查。确保使用此标签启用此检查。
实参: cleanroom_name(字符串)、table_and_col_names(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.set_join_policy($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:EMAIL', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES:EMAIL']);
模板¶
使用以下命令添加此 Clean Room 支持的模板/分析。
provider.add_templates¶
描述:使用模板的名称标识符添加预定义模板列表。示例包括“prod_overlap_analysis”和“prod_provider_data_analysis”。
实参: cleanroom_name(字符串)、template_names(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.add_templates($cleanroom_name, ['prod_overlap_analysis']);
provider.view_template_definition¶
描述:给定模板名称,从 Clean Room 检索模板定义。此命令有助于用户直观地检查模板,并确定在运行模板时需要传递哪些参数。
实参: cleanroom_name(字符串)、template_name(字符串)
返回: 模板定义(字符串)
示例:
call samooha_by_snowflake_local_db.provider.view_template_definition($cleanroom_name, 'prod_overlap_analysis');
provider.clear_template¶
描述:从 Clean Room 中移除指定模板(用其名称表示)。
实参: cleanroom_name(字符串)、template_name(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.clear_template($cleanroom_name, 'prod_custom_template');
provider.clear_all_templates¶
描述:移除已添加到 Clean Room 的所有模板。一旦调用此命令,就需要再次添加模板。
实参: cleanroom_name(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.clear_all_templates($cleanroom_name);
provider.set_column_policy¶
描述:设置使用者可以对数据中的哪些列进行操作。只有在添加模板后才可调用此函数。这也是模板的一个函数,因此输入的形式必须是 template_name:full_table_name:column_name
。请注意,列策略是 仅替换,因此如果再次调用该函数,先前设置的列策略将被当前策略完全替换。
不应在电子邮件地址等标识列上调用列策略 API。它只能用于聚合列和分组依据列。
请注意,进行检查的方式是解析为查找任何未经授权的列而要对数据运行的 SQL 查询。使用这些检查可能无法找出含有通配符的查询,因此,设计分析模板时仍应慎重。
默认情况下,会对 SQL Jinja 实参(名为 dimensions 或 measure_columns)进行检查。确保使用这些标签来启用此检查。
另外,您还可以使用 SQL Jinja 模板中的 join_policy 和 column_policy 标签,对自定义 SQL Jinja 实参执行安全策略。
实参: cleanroom_name(字符串)、analysis_and_table_and_columns(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.set_column_policy($cleanroom_name,
['prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:STATUS',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:AGE_BAND',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:DAYS_ACTIVE',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES:CAMPAIGN']);
provider.add_custom_sql_template¶
描述:将自定义 SQL Jinja 模板添加到 Clean Room。这样的话,使用者就可以调用模板了。
您可以多次调用该 API 将多个自定义模板添加到 Clean Room。该过程将覆盖任何具有相同名称的先前模板。如果要编辑现有模板,请将现有模板名称作为实参传递给 API。
如果使用者使用模板将结果返回给提供商,则命令必须满足以下要求:
自定义模板的名称必须以字符串
activation
开头。例如,activation_custom_template
。模板定义必须创建以
cleanroom.activation_data_
开头的表。 例如,CREATE TABLE cleanroom.activation_data_analysis_results AS ...
。模板定义必须返回在定义(即追加到
cleanroom.activation_data_
的字符串)中创建的表名的唯一部分。例如,return 'data_analysis_results'
。
在 SQL Jinja 模板中,有两个特殊实参:
source_table:来自提供商端的表数组
my_table:来自使用者端的表数组
必须使用这些实参来引用所有提供商/使用者表,因为实际链接到 Clean Room 的安全视图名称与表名不同。重要的是,提供商表别名 MUST 为 p(或 p1)、p2、p3、p4 等。使用者表别名 必须 为 c(或 c1)、c2、c3 等。要在 Clean Room 中执行安全策略,必须满足此条件。
此外,要使“column_policy”和“join_policy”对使用者分析请求执行检查,在 SQL Jinja 模版中,所有列名必须称为 dimensions 或 measure_columns。确保使用这些标签来引用自定义 SQL Jinja 模板中默认要检查的列。
或者,可以使用以下筛选器检查自定义 SQL Jinja 模板中的任何参数是否符合联接和列策略(注意: 这些筛选器目前无法与前面描述的标准 p
或 c
别名结合使用):
join_policy:检查字符串值或筛选器子句是否符合联接策略
column_policy:检查字符串值或筛选器子句是否符合列策略
join_and_column_policy:检查筛选器子句中用于联接的列是否符合联接策略,以及用作筛选器的列是否符合列策略
例如,在子句 {{ where_clause | sqlsafe | join_and_column_policy }} 中,将解析 p.HEM = c.HEM and p.STATUS = 1 的输入,以检查 p.HEM 是否在联接策略中,以及 p.STATUS 是否在列策略中。
注意:只能谨慎使用 sqlsafe 筛选器,它允许协作者将纯 SQL 放入模板。
如果不指定使用者列表,则所有使用者都可以使用自定义模板。如果使用该参数指定使用者列表,则只有这些使用者才能在 Clean Room 中使用该模板。
实参:
cleanroom_name(字符串) – 适用此模板的 Clean Room 的名称。
template_name(字符串) – 模板的名称。必须全部是小写字母、数字、空格或下划线。激活模板的名称必须以“activation”开头。
模板(字符串) – JinjaSQL 模板。
differential_privacy_sensitivity(浮点数,OPTIONAL) – 如果为该 Clean Room 启用了差分隐私,则它会指定应用于该模板使用的数据的差分隐私噪声量。默认值为 1.0,没有上限。将此值设置为查询可以通过从结果中排除单行而更改的最大量。您必须通过调用
provider.add_consumers(enable_differential_privacy=TRUE)
来启用差分隐私,才能使此实参生效。consumer_list(数组,OPTIONAL) – 一个或多个账户定位器的数组。该模板将仅添加到指定账户的 Clean Room 中。您可以稍后通过调用
provider.restrict_template_options_to_consumers
来修改此列表。
返回: success or failure message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.add_custom_sql_template(
$cleanroom_name, 'prod_custom_template',
$$
select
identifier({{ dimensions[0] | column_policy }})
from
identifier({{ my_table[0] }}) c
inner join
identifier({{ source_table[0] }}) p
on
c.identifier({{ consumer_id }}) = identifier({{ provider_id | join_policy }})
{% if where_clause %} where {{ where_clause | sqlsafe | join_and_column_policy }} {% endif %};
$$);
provider.restrict_template_options_to_consumers¶
描述:控制特定使用者是否可以使用 Clean Room 中的模板。
第二个参数是 JSON 对象,其中每个名/值对是模板的名称和可以使用该模板的使用者数组。每个使用者都使用其账户定位器来指定。
输入:cleanroom_name(字符串),access_details(变量)
输出:成功消息(字符串)
示例:
call samooha_by_snowflake_local_db.provider.restrict_template_options_to_consumers(
$cleanroom_name,
{
'prod_template_1': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
}
);
使用者自定义模板¶
以下 APIs 让您可以批准或拒绝使用者为 Clean Room 添加模板的请求。仅当提供商批准使用者添加模板的请求时,才会将使用者定义的模板添加到 Clean Room。 有关更多信息,请参阅 使用开发者 API 添加使用者定义的模板。
provider.list_template_requests¶
描述:列出所有想要将使用者定义的模板添加到 Clean Room 的使用者的请求。其中包括待处理、已批准和已拒绝的请求。
实参: cleanroom_name(字符串)
返回: request_id(字符串)、consumer_identifier(字符串)、template_name(字符串)、template_definition(字符串)、status(字符串)
示例:
CALL samooha_by_snowflake_local_db.provider.list_template_requests('dcr_cleanroom');
provider.approve_template_request¶
描述:批准为 Clean Room 添加模板的请求。要获得 <request_id> 实参,请执行 provider.list_template_requests
命令来检索请求的 UUID。
实参: cleanroom_name(字符串)、request_id(数组)
返回: success message(字符串)
示例:
CALL samooha_by_snowflake_local_db.provider.approve_template_request('dcr_cleanroom',
'01b4d41d-0001-b572');
provider.reject_template_request¶
描述:拒绝为 Clean Room 添加模板的请求。要获得 <request_id> 实参,请执行 provider.list_template_requests
命令来检索请求的 UUID。
实参: cleanroom_name(字符串)、request_id(字符串)、reason_for_rejection(字符串)
返回: success message(字符串)
示例:
CALL samooha_by_snowflake_local_db.provider.reject_template_request('dcr_cleanroom',
'01b4d41d-0001-b572',
'Failed security assessment');
配置分析运行者¶
使用以下命令配置谁可以在 Clean Room 中运行分析。您可以指定提供商(Clean Room 创建者)和/或使用者(Clean Room 安装者)。
provider.enable_provider_run_analysis¶
描述:使提供商(Clean Room 创建者)能够在 Clean Room 中运行分析(默认已禁用)。
备注
非常重要:需要在 provider.add_consumer
之后、使用者安装 Clean Room 之前调用此命令。如果用户在安装 Clean Room 后更改了此配置,则需要重新安装 Clean Room 以反映新的配置。
实参: cleanroom_name(字符串)、consumer_account_locator(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.enable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.disable_provider_run_analysis¶
描述:禁止提供商(Clean Room 创建者)在 Clean Room 中运行分析(默认已禁用)。
备注
非常重要:需要在 provider.add_consumer
之后、使用者安装 Clean Room 之前调用此命令。如果用户在安装 Clean Room 后更改了此配置,则需要重新安装 Clean Room 以反映新的配置。
实参: cleanroom_name(字符串)、consumer_account_locator(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.disable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.enable_consumer_run_analysis¶
描述:使使用者(Clean Room 安装者)能够在 Clean Room 中运行分析(默认已启用)。
备注
非常重要:需要在 provider.add_consumer
之后、使用者安装 Clean Room 之前调用此命令。如果用户在安装 Clean Room 后更改了此配置,则需要重新安装 Clean Room 以反映新的配置。
实参: cleanroom_name(字符串)、consumer_account_locator(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.enable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.disable_consumer_run_analysis¶
描述:禁止使用者(Clean Room 安装者)在 Clean Room 中运行分析(默认已启用)。
备注
非常重要:需要在 provider.add_consumer
之后、使用者安装 Clean Room 之前调用此命令。如果用户在安装 Clean Room 后更改了此配置,则需要重新安装 Clean Room 以反映新的配置。
实参: cleanroom_name(字符串)、consumer_account_locator(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.disable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
library.is_provider_run_enabled¶
描述:检查此 Clean Room 是否已启用 Provider Run Analysis。注意:仍需通过调用 consumer.enable_templates_for_provider_run
获得明确批准(见下文)。
实参: cleanroom_name(字符串)
输出: enabled message(字符串)
示例:
call samooha_by_snowflake_local_db.library.is_provider_run_enabled($cleanroom_name)
library.is_consumer_run_enabled¶
描述:检查此 Clean Room 是否已启用 Consumer Run Analysis。此标志决定了 Clean Room 使用者(安装者)是否可以运行分析,或者作为数据贡献者参与协作。
实参: cleanroom_name(字符串)
输出: enabled message(字符串)
示例:
call samooha_by_snowflake_local_db.library.is_consumer_run_enabled($cleanroom_name)
激活¶
有关激活结果的更多信息,请参阅 使用开发者 APIs 将结果发送到 Snowflake 账户进行激活。
provider.set_activation_policy¶
描述:定义哪些列可以在激活模板中使用。确保只有提供商批准的列可以与激活模板一起使用。
输入:cleanroom_name(字符串)、columns(数组)
columns 实参以 <template_name>:<fully_qualified_table_name>:<column_name>
格式传递。
输出: 成功消息
示例:
call samooha_by_snowflake_local_db.provider.set_activation_policy('my_cleanroom', [
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE_NAME.DEMO.CUSTOMERS:HASHED_EMAIL',
'prod_overlap_analysis:SAMOOHA_SAMPLE_DATABASE_NAME.DEMO.CUSTOMERS:REGION_CODE' ]);
provider.request_provider_activation_consent¶
描述:请求使用者批准将分析结果推送到提供商的 Snowflake 账户以进行激活的能力。
输入:cleanroom_name(字符串)、activation_template_name(字符串)
输出: 成功消息
示例:
call samooha_by_snowflake_local_db.provider.request_provider_activation_consent(
'my_cleanroom', 'activation_my_template');
模板链¶
使用以下命令创建和管理模板链。有关使用模板链的一般信息,请参阅 使用开发者 APIs 按顺序执行模板。
provider.add_template_chain¶
描述:创建新的模板链。模板在添加到模板链之前必须存在。
实参: cleanroom_name(字符串)、template_chain_name(字符串)、templates(对象数组)
表示模板的 JSON 对象可以包含以下字段:
template_name
(字符串)– 指定要添加到模板链的模板。模板必须已存在。cache_results
(布尔)– 确定模板的结果是否临时保存,以便模板链中的其他模板可以访问这些结果。要缓存结果,请指定 TRUE。output_table_name
(字符串)– 如果 cache_results = TRUE,则指定存储模板结果的 Snowflake 表的名称。jinja_output_table_param
(字符串)– 如果 cache_results = TRUE,则指定其他模板必须包括的 Jinja 参数的名称,以接受 output_table_name 中存储的结果。cache_expiration_hours
(整型)– 如果 cache_results = TRUE,则指定删除缓存中结果之前的小时数。当缓存过期时,那么下次执行模板链时,缓存会使用模板的结果刷新。
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.add_template_chain(
'collab_clean_room',
'my_chain',
[
{
'template_name': 'crosswalk',
'cache_results': True,
'output_table_name': 'crosswalk',
'jinja_output_table_param': 'crosswalk_table_name',
'cache_expiration_hours': 2190
},
{
'template_name': 'transaction_insights',
'cache_results': False
}
]
);
provider.view_added_template_chains¶
描述:查看 clean room 中当前激活的模板链。
实参: cleanroom_name(字符串)
返回: 添加的模板链(表)
示例:
call samooha_by_snowflake_local_db.provider.view_added_template_chains($cleanroom_name);
provider.view_template_chain_definition¶
描述:返回模板链的属性。
实参: cleanroom_name(字符串)、template_chain_name(字符串)
返回: 模板链定义(字符串)
示例:
call samooha_by_snowflake_local_db.provider.view_template_chain_definition($cleanroom_name, 'insights_chain');
provider.clear_template_chain¶
描述:从 Clean Room 中移除指定模板链(用其名称表示)。
实参: cleanroom_name(字符串)、template_chain_name(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.clear_template_chain($cleanroom_name, 'insights_chain');
provider.clear_all_template_chains¶
描述:移除已添加到 Clean Room 的所有模板链。
实参: cleanroom_name(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.clear_all_template_chains($cleanroom_name);
作为 Clean Room 创建者运行分析¶
provider.submit_analysis_request¶
描述:提交分析请求,作为 Clean Room 提供商运行分析。此分析请求会传入 Clean Room,并根据使用者的安全策略进行检查。安全检查和差分隐私层允许进行分析后,分析会在 Clean Room 内执行,结果也会安全地存储在 Clean Room 内。
在允许提供商运行分析时,会在 Clean Room 中添加只有提供商才知道的加密密钥。该密钥用于对分析结果进行加密,然后再传输回提供商租户,并在那里使用安全密钥进行解密。这样会确保只有提供商可以看到提供商已请求的分析的结果。
实参: cleanroom_name(字符串)、consumer_account_locator(字符串)、template_name(字符串)、provider_tables(数组)、consumer_tables(数组)、analysis_arguments(对象)
返回: 请求 ID(字符串)
示例:
call samooha_by_snowflake_local_db.provider.submit_analysis_request(
$cleanroom_name,
'<CONSUMER_ACCOUNT>',
'prod_overlap_analysis',
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
object_construct(
'dimensions', ['c.REGION_CODE'],
'measure_type', ['AVG'],
'measure_column', ['c.DAYS_ACTIVE']
));
-- This API returns a request ID that we save into a local variable.
set request_id = '<REQUEST_ID';
provider.check_analysis_status¶
描述:提交分析请求后,使用此 API 检查请求的状态。请求提交后最多需要 1 分钟才会显示。完成后,状态显示为 COMPLETED。
**实参:**cleanroom_name(字符串)、request_id(字符串)、consumer_account_locator(字符串)
返回: 状态(字符串)
示例:
-- It can take up to 2 minutes for this to pick up the request ID after the initial request
call samooha_by_snowflake_local_db.provider.check_analysis_status(
$cleanroom_name,
$request_id,
'<CONSUMER_ACCOUNT>'
);
provider.get_analysis_result¶
描述:给定请求 ID 的分析状态显示为 COMPLETED 后,可使用此 API 获取 request_id 的结果。这样会获取结果,使用分析启用期间在账户中创建的密钥进行解密,然后输出分析结果。
**实参:**cleanroom_name(字符串)、request_id(字符串)、consumer_account_locator(字符串)
返回: 分析结果(表)
示例:
call samooha_by_snowflake_local_db.provider.get_analysis_result(
$cleanroom_name,
$request_id,
'<CONSUMER_ACCOUNT>'
);
用于将 Python 代码加载到 Clean Room 的函数¶
provider.load_python_into_cleanroom¶
描述:机密地 将任意 Python 函数加载到 Clean Room。使用此 API 加载到 Clean Room 的任何代码都不对使用者可见。结果函数可在作为 Clean Room 的任何 SQL Jinja 模板内调用。
备注
此过程将 Python 代码作为现有版本的补丁添加到 Clean Room。这将重新触发安全扫描,并且在与协作者共享新版本之前,您可能需要等待扫描处于 APPROVED 状态。如果是这样,那么在使用新版本/补丁与提供商共享 Clean Room 之前,请调用 provider.set_default_release_directive
。请参阅 Snowflake 原生应用程序文档,了解更多详细信息。
参数: cleanroom_name(字符串)、function_name(字符串)、arguments(数组)、packages(数组)、ret_type(字符串)、handler(字符串)、code(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.load_python_into_cleanroom(
$cleanroom_name,
'assign_group', // Name of the UDF
['data variant', 'index integer'], // Arguments of the UDF, along with their type
['pandas', 'numpy'], // Packages UDF will use
'integer', // Return type of UDF
'main', // Handler
$$
import pandas as pd
import numpy as np
def main(data, index):
df = pd.DataFrame(data) # you can do something with df but this is just an example
return np.random.randint(1, 100)
$$
);
Clean Room UI 命令¶
使用以下命令,在 Custom Analysis 选项卡下面,将通过自定义分析加载的 Clean Room 注册到 Snowflake Data Clean Room 的 Web 应用程序。
provider.add_ui_form_customizations¶
描述: 在 Web 应用程序中为使用者定义 Clean Room 的 UI。至少,您必须在模板描述参数中为 display_name
、description
和 methodology
指定值。
实参:
template name(字符串):该 UI 适用的模板的名称。这不是使用
template_description.display_name
字段指定的用户可见的标题。template description(字典):UI 中向用户显示的信息。包含以下字段:
display_name
(必填):显示 Web 应用程序中模板的名称。description
(必填):模板的描述。methodology
(必填):说明使用者应如何使用表单执行分析。warehouse_hints
(可选):向用户建议使用哪种类型的仓库来运行分析。这是一个具有以下字段的对象:warehouse_size
:请参阅 CREATE WAREHOUSE 中的warehouse_size
,了解有效值。snowpark_optimized
(布尔):是否使用 Snowpark 优化的仓库 来处理查询。对于大多数机器学习用例,Snowflake 建议 TRUE。
render_table_dropdowns
:是否显示默认下拉菜单,让用户选择在查询中使用哪个提供商和/或使用者表。这是一个具有以下字段的对象:render_consumer_table_dropdown
:(默认 = TRUE)如果为 TRUE,则显示默认使用者表选择器。如果为FALSE
,则隐藏使用者表选择器。 模板可以使用my_table
变量以列表形式访问所选值。render_provider_table_dropdown
:(默认 = TRUE)如果为 TRUE,则显示默认提供商表选择器。如果为FALSE
,则隐藏提供商表选择器。模板可以使用source_table
变量以列表形式访问所选值。
customizations(字典):定义用户可以配置的输入字段。这是一个键/对象对的字典,每对表示一个用户可配置的 UI 元素。键是任意字符串名称,模板可以使用键来访问用户指定的值。 对象定义 UI 元素。该对象具有以下字段:
display_name
(必填):显示 UI 元素的名称description
(必填):名称下显示的描述methodology
(必填):说明使用者应如何使用表单执行分析。type
:UI 元素的类型。如果为该元素指定了references
,则省略该值(类型由您确定)。支持的值:any
(默认):常规文本输入字段boolean
:真/假选择器integer
:使用箭头更改数字multiselect
:从下拉菜单中选择多个项目dropdown
:从下拉列表中选择一个项目date
:日期选择器
default
:该元素的默认值。choices
:dropdown 和 multiselect 类型的可用选项列表infoMessage
:将鼠标悬停在名称旁边的“i”图标上时显示的信息性悬停文本size
:元素大小。支持的值:XS
、S
、M
、L
、XL
required
:指明元素是否必填。指定 TRUE 或 FALSE。group
:组名,用于对 UI 中的项目进行分组。对 UI 中应分组在一起的项目使用相同的组名。如果隐藏默认下拉列表,则可以使用自定义模板中的{{ 源表 }}
和{{ my_table}}
特殊参数,然后定义自己的下拉列表,其中包含所需的表。有关在定义自定义模板时使用这些特殊变量的更多详细信息,请参阅 provider.add_custom_sql_template (https://user-guide/user-guide/cleanrooms/provider#provider-add-custom-sql-template)。references
:创建一个下拉列表,其中包含 Clean Room 中可用的表或列,而无需提前了解这些表或列或单独列出这些表或列。如果使用,请不要指定type
值。支持以下字符串值:PROVIDER_TABLES
:创建一个下拉列表,列出用户可访问的 Clean Room 中的所有提供商表。PROVIDER_JOIN_POLICY
:从provider_parent_table_field
指定的提供商表中创建可以联接的所有列的下拉列表。PROVIDER_COLUMN_POLICY
:使用provider_parent_table_field
指定的提供商表中的列策略创建所有列的下拉列表。CONSUMER_TABLES
:创建一个下拉列表,列出用户可访问的 Clean Room 中的所有使用者表。CONSUMER_COLUMNS
:创建一个下拉列表,列出consumer_parent_table_field
指定的使用者表中用户可以访问的所有列。您不应该在提供商运行的模板中使用使用者列引用,因为使用者可能会应用联接和列策略,这可能会导致在未遵守列的策略时查询失败。CONSUMER_JOIN_POLICY
:从consumer_parent_table_field
指定的使用者表中创建可以联接的所有列的下拉列表。CONSUMER_COLUMN_POLICY
:使用consumer_parent_table_field
指定的使用者表中的列策略创建所有列的下拉列表。
provider_parent_table_field
:指定用户选择提供商表的 UI 元素 的名称(此处不提供表名本身)。仅当references
设置为PROVIDER_COLUMN_POLICY
或PROVIDER_JOIN_POLICY
时才使用。consumer_parent_table_field
:指定用户选择使用者表的 UI 元素 的名称(此处不提供表名本身)。仅当references
设置为CONSUMER_COLUMNS
、CONSUMER_JOIN_POLICY
或CONSUMER_COLUMN_POLICY
时才使用。
output_config(字典) 定义可选的输出规范。允许的字段:
measure_columns
:用于指定图形输出的度量列。输出中显示的定量数据点。这些列包括允许进行详细数据分析的指标和维度。default_output_type
:显示结果的默认格式。如果数据格式正确,则用户通常可以更改 UI 中的显示格式。支持的类型:TABLE
:(默认)以表格形式显示数据。BAR
:以条形图形式显示数据,适合比较不同类别的数据。LINE
:以折线图形式显示数据,适合显示随时间变化的趋势或连续数据。PIE
:以饼状图显示数据,适合显示比例或百分比。
返回: success message(字符串)
示例:
-- Specify the display name, description, and warehouse, and hide the default table dropdowns.
-- Define the following two fields in the UI:
-- A provider table selector that shows all provider tables. Chosen tables can be accessed by the template with the variable 'a_provider_table'
-- (This dropdown is equivalent to setting render_table_dropdowns.render_provider_table_dropdown:true)
-- A column selector for the tables chosen in 'a_provider_table'. Chosen columns can be accessed by the template with the variable 'a_provider_col'
call samooha_by_snowflake_local_db.provider.add_ui_form_customizations(
$cleanroom_name,
'prod_custom_template',
{
'display_name': 'Custom Analysis Template',
'description': 'Use custom template to run a customized analysis.',
'methodology': 'This custom template dynamically renders a form for you to fill out, which are then used to generate a customized analysis fitting your request.',
'warehouse_hints': {
'warehouse_size': 'xsmall',
'snowpark_optimized': FALSE
},
'render_table_dropdowns': {
'render_consumer_table_dropdown': false,
'render_provider_table_dropdown': false
},
'activation_template_name': 'activation_my_template',
'enabled_activations': ['consumer', 'provider']
},
{
'a_provider_table': {
'display_name': 'Provider table',
'order': 3,
'description': 'Provider table selection',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['PROVIDER_TABLES'],
'type': 'dropdown'
},
'a_provider_col': {
'display_name': 'Provider column',
'order': 4,
'description': 'Which col do you want to count on',
'size': 'S',
'group': 'Seed Audience Selection',
'references': ['PROVIDER_COLUMN_POLICY'],
'provider_parent_table_field': 'a_provider_table',
'type': 'dropdown'
}
},
{
'measure_columns': ['col1', 'col2'],
'default_output_type': 'PIE'
}
);
provider.set_cleanroom_ui_accessibility¶
描述:向所有使用提供商账户登录的用户显示或隐藏 Web 应用程序中的 Clean Room。
实参:
cleanroom_name(字符串) – Clean Room 的名称。
visibility_status(字符串) – 以下区分大小写的值之一:
HIDDEN – 对当前提供商账户中的所有用户隐藏 Web 应用程序中的 Clean Room。Clean Room 仍可通过 API 调用访问。
EDITABLE – 让 clean room 在 Web 应用程序中可见。
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.set_cleanroom_ui_accessibility($cleanroom_name, 'HIDDEN');
provider.register_cleanroom_in_ui -- DEPRECATED¶
注意
此命令现已弃用。 您不再需要手动注册 Clean Room 模板以在 Web 应用程序中使用。
描述:注册 Clean Room,供使用者在 Web 应用程序中使用。Clean Room 由提供商使用开发者 APIs 创建和配置。然后,该命令会将其注册到 Web 应用程序中,供使用者安装、添加表并运行您添加的任何自定义分析,而无需使用开发者 APIs。他们完全通过 Web 应用程序的用户界面使用 Clean Room。
您可以多次调用该 API,将多个自定义模板添加到 Web 应用程序中。
实参: cleanroom_name(字符串)、template name(字符串)、consumer_account_locator(字符串)、user_email(字符串)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.register_cleanroom_in_ui($cleanroom_name, 'prod_custom_template', <CONSUMER ACCOUNT LOCATOR>, <USER_EMAIL>)
provider.view_ui_registration_request_log -- DEPRECATED¶
注意
此命令现已弃用。 您不再需要手动注册 Clean Room 模板以在 Web 应用程序中使用。
描述:查看从账户提出的请求的列表,将 Clean Room 注册到 Web 应用程序。每个请求都有关联的 ID,可与 view_ui_registration_log
程序结合使用,以查看请求的状态。请求共享到后端,在此处处理请求,并将 Clean Room 添加到 Clean Room。
实参:
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.view_ui_registration_request_log();
Clean Room 元数据 getter 命令¶
使用以下命令可显示 Clean Room 的相关属性。
provider.describe_cleanroom¶
描述:创建文本摘要,其中包含已添加到 Clean Room 的所有信息,包括模板、数据集和策略等。
实参: cleanroom_name(字符串)
返回: clean room 的详细描述字符串(表)
示例:
call samooha_by_snowflake_local_db.provider.describe_cleanroom($cleanroom_name);
provider.view_provider_datasets¶
描述:查看已添加到 Clean Room 的所有数据集。
实参: cleanroom_name(字符串)
返回: clean room 中的所有提供商数据集名称(表)
示例:
call samooha_by_snowflake_local_db.provider.view_provider_datasets($cleanroom_name);
provider.view_join_policy¶
描述:查看当前在 Clean Room 中激活的联接策略。
实参: cleanroom_name(字符串)
返回: 联接策略(表)
示例:
call samooha_by_snowflake_local_db.provider.view_join_policy($cleanroom_name);
provider.view_added_templates¶
描述:查看 Clean Room 中当前激活的模板。
实参: cleanroom_name(字符串)
返回: 添加的模板(表)
示例:
call samooha_by_snowflake_local_db.provider.view_added_templates($cleanroom_name);
provider.view_column_policy¶
描述:查看当前在 Clean Room 中激活的列策略。
实参: cleanroom_name(字符串)
返回: 列策略(表)
示例:
call samooha_by_snowflake_local_db.provider.view_column_policy($cleanroom_name);
provider.view_consumers¶
描述:查看共享 Clean Room 的使用者。
实参: cleanroom_name(字符串)
返回: 有权访问 Clean Room 的使用者账户(表)
示例:
call samooha_by_snowflake_local_db.provider.view_consumers($cleanroom_name);
provider.view_cleanrooms¶
描述:查看最近创建的所有 Clean Room(按创建日期排序)。
实参:
返回: 按创建日期排序的所有现有 Clean Room(表)
示例:
call samooha_by_snowflake_local_db.provider.view_cleanrooms();
provider.view_request_logs¶
描述:查看此 Clean Room 的使用者发送的请求日志。
实参: cleanroom_name(字符串)
返回: 针对 Clean Room 运行的查询的一系列日志(表)
示例:
call samooha_by_snowflake_local_db.provider.view_request_logs($cleanroom_name);
常规 helper 命令¶
使用以下命令一般有助于充分利用 Clean Room 功能和支持流程。
provider.grant_reference_usage¶
描述:允许向包含数据的上游数据库授予 Clean Room 的 reference_usage。
备注
此命令仅用于 Web 应用程序。
这比 register_db
中的授权有限得多。在添加从上游数据库引用数据的视图或 UDTFs 时,有必要使用该程序,但它不允许 SAMOOHA_APP_ROLE 角色查看实际表或在 Web 应用程序的下拉菜单中显示这些数据库。
该命令应在包含链接视图和 UDTFs 所用数据的数据库中调用。
实参: database_names(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.grant_reference_usage(['<DATABASE_NAME>']);
provider.revoke_reference_usage¶
描述:从 provider.grant_reference_usage
创建的引用数据库列表中移除数据库。
备注
此命令仅用于 Web 应用程序。
实参: database_names(数组)
返回: success message(字符串)
示例:
call samooha_by_snowflake_local_db.provider.revoke_reference_usage(['<DATABASE_NAME>']);
provider.mount_request_logs_for_all_consumers¶
描述:让提供商能够访问 Clean Room 使用者返回给提供商的信息。
实参: cleanroom_name(字符串)
返回: success message(字符串)
示例:
CALL samooha_by_snowflake_local_db.provider.mount_request_logs_for_all_consumers($cleanroom_name);
library.enable_local_db_auto_upgrades¶
描述:启用任务 samooha_by_snowflake_local_db.admin.expected_version_task
,该任务会在新版本发布时自动升级 Snowflake Data Clean Room 的 Snowflake Native App。
实参: 无
返回: success message(字符串)
示例:
CALL samooha_by_snowflake_local_db.library.enable_local_db_auto_upgrades();
library.disable_local_db_auto_upgrades¶
描述:禁用任务 samooha_by_snowflake_local_db.admin.expected_version_task
,该任务会在新版本发布时自动升级 Snowflake Data Clean Room 的 Snowflake Native App。
实参: 无
返回: success message(字符串)
示例:
CALL samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();