Snowflakeデータクリーンルーム:プロバイダーAPIリファレンスガイド¶
このガイドでは、プロバイダーがクリーンルームを作成、設定、共有するための 開発者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;
クリーンルームの名前を作成します。クリーンルーム名には 英数字のみを使用できます。クリーンルーム名には、スペースとアンダースコア以外の特殊文字は使用できません。
set cleanroom_name = 'Test Cleanroom 1'; -- This must only have alphanumeric characters.
クリーンルームの作成¶
クリーンルームの作成と削除には、以下のコマンドを使用します。
provider.cleanroom_init¶
説明:自身のアカウントにクリーンルームを作成します。クリーンルームには英数字とスペースのみの名前を付けることができます。また、このクリーンルームが組織内のみで共有するテスト用クリーンルーム(INTERNAL)なのか、他の組織と外部で共有する生産用クリーンルーム(EXTERNAL)なのかを指定するために、クリーンルームの ディストリビューション を渡す必要があります。
ディストリビューションが指定されていない場合、デフォルトはINTERNALです。
INTERNALのクリーンルームをEXTERNALのクリーンルームに変更することができます。
alter application package samooha_cleanroom_<CLEANROOM_ID> SET DISTRIBUTION = EXTERNAL;
注釈
ディストリビューション は、EXTERNALまたはINTERNALのいずれかです。クリーンルームがEXTERNALディストリビューション用にマークされている場合、コラボレーターと共有する前に、まずSnowflakeが自動セキュリティスキャンを実行する必要があります。詳細は [provider.set_default_release_directive](#provider-set-default-release-directive)をご参照ください。
入力: cleanroom_name (文字列)、 distribution(文字列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
provider.set_default_release_directive¶
説明:クリーンルームのリリースディレクティブ、つまりコラボレーターが受け取るバージョンとパッチを設定します。
デフォルトでは、すべてのクリーンルームは以下のバージョンとパッチ番号で作成されます。
バージョン:V1_0
パッチ:0
注釈
クリーンルーム分布がEXTERNALに設定されている場合、クリーンルームのセキュリティスキャンがAPPROVED状態に移行したときにのみ呼び出すことができます。現在のスキャン状況を表示するには、電話をかけます。
show versions in application package samooha_cleanroom_<CLEANROOM_ID>;
入力: cleanroom_name(string)、version(string)、patch(string)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.set_default_release_directive($cleanroom_name, 'V1_0', '0');
provider.drop_cleanroom¶
説明:既存のクリーンルームを作成者がドロップすることができます。これにより、クリーンルームは完全に削除され、クリーンルームを設置したコンシューマーは、クリーンルームにアクセスすることも使用することもできなくなります。
入力: cleanroom_name(文字列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
データの登録および登録解除¶
以下のコマンドを使用して、データベース、スキーマ、オブジェクトの登録および登録解除を行います。テーブルとビューは、クリーンルームにリンクする前に登録する必要があります。データベースまたはスキーマを登録すると、そのデータベースまたはスキーマ内のすべてのオブジェクトが登録されます。
provider.register_db¶
説明:呼び出し側の権限で実行され、アカウント管理者がSnowflake Data Clean Roomアプリケーションから見えるようにデータベースを登録できるようにします。SELECTへの能力は、データベース内のすべてのスキーマとテーブル、およびSnowflake Data Clean Roomネイティブアプリケーション(SAMOOHA_BY_SNOWFLAKE)に付与されます。
入力: db_name(文字列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.register_db('SAMOOHA_SAMPLE_DATABASE');
library.register_schema¶
説明: register_db
と似ていますが、スキーマレベルで操作します。完全修飾されたテーブル名を表す配列または文字列を渡すことができ、 SAMOOHA_APP_ROLE ロールへの付与選択が行われ、ユーザーはテーブルをクリーンルームにリンクすることができます。
管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)を登録したい場合は、代わりに library.register_managed_access_schema
を使用します。
入力: schema_name (array)
出力: 成功メッセージ(文字列)
例:
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 ロールへの付与選択が行われ、ユーザーはテーブルをクリーンルームにリンクすることができます。
入力: schema_name (array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.register_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.register_table_or_view¶
説明: あらゆるタイプのテーブルとビューを登録します。
入力: object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
出力: success message (string)
例
テーブルを登録するには:
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¶
説明:register_db
と似ていますが、テーブルレベルで操作します。完全修飾されたテーブル名を表す配列または文字列を渡すことができ、SAMOOHA_APP_ROLEロールへのグラント選択が行われ、ユーザーはテーブルをクリーンルームにリンクすることができます。
管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)にテーブルを登録したい場合は、代わりに library.register_managed_access_table
を使用してください。
入力: table_name(配列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.register_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_table¶
説明: register_table
と似ていますが、 WITH MANAGED ACCESS パラメーターで作成されたスキーマのテーブルを登録します。完全修飾されたテーブル名を表す配列または文字列を渡すことができ、SAMOOHA_APP_ROLEロールへのグラント選択が行われ、ユーザーはテーブルをクリーンルームにリンクすることができます。
入力: table_name(配列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.register_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_table¶
説明: register_db
と似ていますが、ビューレベルで操作します。完全修飾されたビュー名を表す配列または文字列を渡すことができ、 SAMOOHA_APP_ROLE ロールへの付与選択が行われ、ユーザーはビューをクリーンルームにリンクすることができます。
管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)にビューを登録したい場合は、代わりに library.register_managed_access_view
を使用してください。
入力: view_name (array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.register_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.register_managed_access_view¶
説明: register_view
と似ていますが、 WITH MANAGED ACCESS パラメーターで作成されたスキーマのビューを登録します。完全修飾されたビュー名を表す配列または文字列を渡すことができ、 SAMOOHA_APP_ROLE ロールへの付与選択が行われ、ユーザーはビューをクリーンルームにリンクすることができます。
入力: view_name (array)
出力: 成功メッセージ(文字列)
例:
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(文字列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.unregister_db('SAMOOHA_SAMPLE_DATABASE');
library.unregister_schema¶
説明: スキーマの登録を解除し、ユーザーがそのテーブルとビューをクリーンルームにリンクすることを防ぎます。
管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)の登録を解除したい場合は、代わりに library.unregister_managed_access_schema
を使用してください。
入力: schema_name (array)
出力: 成功メッセージ(文字列)
例:
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 (array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.unregister_managed_access_schema(['SAMOOHA_SAMPLE_DATABASE.DEMO']);
library.unregister_table_or_view¶
説明: すべてのタイプのテーブルとビューの登録を解除します。
入力: object_names (array), is_view (boolean), is_iceberg (boolean), is_external (boolean), is_under_managed_access_schema (boolean)
出力: success message (string)
例
テーブルの登録を解除するには:
call samooha_by_snowflake_local_db.library.unregister_table_or_view(
['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS'],
false,
false,
false,
false);
library.register_table¶
説明: unregister_db
と似ていますが、テーブルレベルで操作します。テーブルの登録を解除するために、完全修飾テーブル名を表す配列または文字列を渡すことができます。未登録のテーブルをクリーンルームにリンクすることはできません。
管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)内のテーブルの登録を解除したい場合は、代わりに library.unregister_managed_access_table
を使用してください。
入力: table_name(配列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.unregister_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_table¶
説明: unregister_table
と似ていますが、管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)のテーブルの登録を解除します。
入力: table_name(配列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.unregister_managed_access_table(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_view¶
説明: unregister_db
と似ていますが、ビューレベルで操作します。ビューの登録を解除するには、完全修飾したビュー名を表す配列あるいは文字列を渡します。未登録のビューをクリーンルームにリンクすることはできません。
管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)内のビューの登録を解除したい場合は、代わりに library.unregister_managed_access_view
を使用してください。
入力: view_name (array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.unregister_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
library.unregister_managed_access_view¶
説明: unregister_view
と似ていますが、管理アクセススキーマ(つまり、 WITH MANAGED ACCESS パラメーターで作成されたスキーマ)のビューの登録を解除します。
入力: view_name (array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.unregister_managed_access_view(['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']);
データセットの追加とポリシーの作成¶
以下のコマンドを使用して、クリーンルームのデータを追加し、ポリシーを設定します。
provider.link_datasets¶
説明:Snowflakeテーブルをクリーンルームにリンクします。この手順では、クリーンルーム内からテーブルの安全な表示を作成することで、テーブルを自動的にクリーンルームにアクセスできるようにし、テーブルのコピーを作成する必要がなくなります。
第3引数はオプションです。コンシューマーのリストを指定するために使用しない場合、クリーンルームのすべてのコンシューマーは、指定されたテーブルにアクセスすることができます。コンシューマーを指定した場合、指定したコンシューマーのみが、指定したテーブルにアクセスできます。
入力: cleanroom_name(string)、tables_list(array)consumer_list(array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.link_datasets($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES']);
注釈
ビューをクリーンルームにリンクする前に、ACCOUNTADMINロールを持つユーザーがSnowflakeで以下を実行する必要があります。
grant reference_usage on database <DB NAME> to share in application package samooha_cleanroom_<cleanroom_name>;
provider.restrict_table_options_to_consumers¶
説明: 特定のコンシューマーがクリーンルーム内のテーブルにアクセスできるかどうかを制御します。
第2引数は JSON オブジェクトで、名前/値のペアはそれぞれテーブル名と、そのテーブルにアクセスできるコンシューマーの配列です。各コンシューマーは、アカウントロケーターを使用して指定されます。
入力: cleanroom_name(string)、access_details(variant)
出力: 成功メッセージ(string)
例:
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¶
説明:クリーンルーム内でテンプレートを実行する際に、コンシューマーが結合を実行できる列を指定します。列ポリシーは 置換のみ であることに注意してください。したがって、この関数が再度呼び出された場合、以前に設定された列ポリシーは現在のものに完全に置き換えられます。
チェックは、SQL Jinja テンプレートへの where_clause 引数、または join_policy フィルターが追加された引数のいずれかを調べることによって行われることに注意してください。このチェックでは、許可されていない列がないかどうかを調べます。ワイルドカードを使用したクエリは、これらのチェックでは検出されない可能性があります。
デフォルトでは、チェックは where_clause と呼ばれるSQL Jinja引数に対して行われます。このチェックを有効にするには、必ずこのタグを使用してください。
入力: cleanroom_name(文字列)、table_and_col_names(配列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.set_join_policy($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS:EMAIL', 'SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES:EMAIL']);
テンプレート¶
以下のコマンドを使用して、このクリーンルームでサポートされているテンプレート/分析を追加します。
provider.add_templates¶
説明:識別子を使って定義済みテンプレートのリストを追加します。例としては、"prod_overlap_analysis"や"prod_provider_data_analysis"などがあります。
入力: cleanroom_name(string)、template_names(array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.add_templates($cleanroom_name, ['prod_overlap_analysis']);
provider.view_template_definition¶
説明:テンプレート名を指定すると、クリーンルームからテンプレート定義を取得します。これは、ユーザーがテンプレートを視覚的に確認し、テンプレートを実行する際にどのパラメータを渡す必要があるかを判断するのに役立ちます。
入力: cleanroom_name(文字列)、template_name(文字列)
出力: テンプレート定義(文字列)
例:
call samooha_by_snowflake_local_db.provider.view_template_definition($cleanroom_name, 'prod_overlap_analysis');
provider.clear_template¶
説明:クリーンルームから指定されたテンプレート(その名前で参照)を削除します。
入力: cleanroom_name(string)、template_name(string)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.clear_template($cleanroom_name, 'prod_custom_template');
provider.clear_all_templates¶
説明:クリーンルームに追加されたすべてのテンプレートを削除します。これを呼び出すと、テンプレートを再度追加する必要があります。
入力: cleanroom_name(文字列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.clear_all_templates($cleanroom_name);
provider.set_column_policy¶
説明:コンシューマーがデータ内のどの列に対して操作を実行できるかを設定します。これはテンプレートを追加した後にのみ呼び出されるべきです。これはテンプレートの関数でもあるため、入力は template_name:full_table_name:column_name
にする必要があります。列ポリシーが 置換のみ であることに注意してください。したがって、関数が呼び出された場合、以前に設定された列ポリシーは現在のものに完全に置き換えられます。
列ポリシーAPIは、メールのようなID列では呼び出されるべきではありません。これは集約および列別のグループにのみ使用されるべきです。
SQL、データに対して実行されるクエリを解析し、許可されていない列がないかチェックすることに注意してください。ワイルドカードを使用したクエリは、これらのチェックでは検出されない可能性があります。
デフォルトでは、チェックは dimensions または measure_columns と呼ばれるSQL Jinja引数に対して実行されます。このチェックを有効にするには、必ずこれらのタグを使用してください。
あるいは、SQL Jinja テンプレートで join_policy と column_policy タグを使用して、SQL Jinja のカスタム引数に対してセキュリティポリシーを適用することもできます。
入力: cleanroom_name(文字列)、 analysis_and_table_and_columns(配列)
出力: 成功メッセージ(文字列)
例:
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 のカスタムテンプレートをクリーンルームに追加します。これにより、コンシューマーがテンプレートを呼び出せるようになります。
クリーンルームに複数のカスタムテンプレートを追加するために、この API を複数回呼び出すことができます。この手続きは、同じ名前の以前のテンプレートを上書きすることに注意してください。既存のテンプレートを編集したい場合は、 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テンプレートには、2つの特別な引数があります。
source_table:プロバイダー側のテーブルの配列
my_table: コンシューマー側のテーブルの配列
クリーンルームに実際にリンクされているセキュアビューの名前はテーブル名と異なるため、すべてのプロバイダー/コンシューマーテーブルは、これらの引数を使用して参照する必要があります。重要なのは、プロバイダーテーブルのエイリアスはp(またはp1)、p2、p3、p4などにする 必要 があり、コンシューマーテーブルのエイリアスはc(またはc1)、c2、c3などにする 必要 があるということです。これは、クリーンルームでセキュリティポリシーを実施するために必要です。
さらに、"column_policy"と"join_policy"がコンシューマ分析リクエストのチェックを実行するには、SQL Jinjaテンプレートですべての列名を dimensions または measure_columns として参照する必要があります。これらのタグは、SQL Jinjaのカスタムテンプレートでデフォルトでチェックさせたい列を参照するために使用してください。
また、SQL Jinjaテンプレートのカスタム引数は、以下のフィルターを使用して、結合および列のポリシーに準拠しているかどうかを確認することができます。
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をテンプレートに入れることができます。
コンシューマーのリストを指定しない場合、すべてのコンシューマーがカスタムテンプレートを使用できます。パラメーターを使用してコンシューマーのリストを指定した場合、それらのコンシューマーのみがクリーンルームでテンプレートを使用できます。
入力: cleanroom_name(文字列)、template_name(string)、template(string)、differential_privacy_sensitivity(float、 OPTIONAL)、consumer_list(array、 OPTIONAL)
出力: 成功メッセージ(文字列)
例:
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¶
:説明: 特定のコンシューマーがクリーンルームでテンプレートを使用できるかどうかを制御します。
第2引数は JSON オブジェクトで、各名前と値のペアはテンプレートの名前と、それを使用できるコンシューマーの配列です。各コンシューマーは、アカウントロケーターを使用して指定されます。
入力: cleanroom_name(string)、access_details(variant)
出力: 成功メッセージ(string)
例:
call samooha_by_snowflake_local_db.provider.restrict_template_options_to_consumers(
$cleanroom_name,
{
'prod_template_1': ['CONSUMER_1_LOCATOR', 'CONSUMER_2_LOCATOR']
}
);
コンシューマー定義のテンプレート¶
以下の APIs では、クリーンルームにテンプレートを追加するコンシューマーからの要求を承認または拒否することができます。コンシューマー定義のテンプレートは、プロバイダーがコンシューマーの追加リクエストを承認した場合にのみ、クリーンルームに追加されます。詳細については、[開発者 API を使用してコンシューマー定義のテンプレートを追加する](/user-guide/cleanrooms/developer-consumer-templates)をご参照ください。
provider.list_template_requests¶
説明: クリーンルームにコンシューマー定義のテンプレートを追加したいコンシューマーからのすべてのリクエストをリストします。これには、保留中のリクエスト、承認済みのリクエスト、拒否済みのリクエストが含まれます。
入力: cleanroom_name(文字列)
出力: request_id(string)、consumer_identifier(string)、template_name(string)、template_definition(string)、status(string)
例:
CALL samooha_by_snowflake_local_db.provider.list_template_requests('dcr_cleanroom');
provider.approve_template_request¶
説明: クリーンルームへのテンプレート追加リクエストを承認します。<request_id>引数を取得するには、 provider.list_template_requests
コマンドを実行し、リクエストの UUID を取得します。
入力: cleanroom_name(string)、request_id(string)
出力: 成功メッセージ(文字列)
例:
CALL samooha_by_snowflake_local_db.provider.approve_template_request('dcr_cleanroom',
'01b4d41d-0001-b572');
provider.reject_template_request¶
****: クリーンルームへのテンプレートの追加リクエストを拒否します。<request_id>引数を取得するには、 provider.list_template_requests
コマンドを実行し、リクエストの UUID を取得します。
入力: cleanroom_name(string)、request_id(string)、consumer_account_locator(string)
出力: 成功メッセージ(文字列)
例:
CALL samooha_by_snowflake_local_db.provider.reject_template_request('dcr_cleanroom',
'01b4d41d-0001-b572',
'Failed security assessment');
分析を実行できる人の設定¶
以下のコマンドを使用して、クリーンルームで分析を実行できる人を設定します。プロバイダー(クリーンルーム作成者)、コンシューマー(クリーンルームインストール担当者)、またはその両方を指定できます。
provider.enable_provider_run_analysis¶
説明:プロバイダー(クリーンルーム作成者)がクリーンルーム内で分析を実行できるようにします(デフォルトでは無効になっています)。
注釈
非常に重要: これは、provider.add_consumer
の 後 に、コンシューマーがクリーンルームをインストールする前に呼び出される必要があります。既にクリーンルームをインストールされた後に変更された場合は、新しい設定を反映させるためにクリーンルームをインストールし直す必要があります。
入力: cleanroom_name(string)、consumer_account_locator(string)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.enable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.disable_provider_run_analysis¶
説明:プロバイダー(クリーンルーム作成者)がクリーンルームで分析を実行することを無効にします(デフォルトでは無効になっています)。
注釈
非常に重要: これは、provider.add_consumer
の 後 に、コンシューマーがクリーンルームをインストールする前に呼び出される必要があります。既にクリーンルームをインストールされた後に変更された場合は、新しい設定を反映させるためにクリーンルームをインストールし直す必要があります。
入力: cleanroom_name(string)、consumer_account_locator(string)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.disable_provider_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.enable_consumer_run_analysis¶
説明:コンシューマー(クリーンルームインストール担当者)がクリーンルーム内で分析を実行できるようにします(デフォルトで有効)。
注釈
非常に重要: これは、provider.add_consumer
の 後 に、コンシューマーがクリーンルームをインストールする前に呼び出される必要があります。既にクリーンルームをインストールされた後に変更された場合は、新しい設定を反映させるためにクリーンルームをインストールし直す必要があります。
入力: cleanroom_name(string)、consumer_account_locator(string)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.enable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
provider.disable_consumer_run_analysis¶
説明:コンシューマー(クリーンルームインストール担当者)がクリーンルーム内で分析を実行できないようにします(デフォルトで有効)。
注釈
非常に重要: これは、provider.add_consumer
の 後 に、コンシューマーがクリーンルームをインストールする前に呼び出される必要があります。既にクリーンルームをインストールされた後に変更された場合は、新しい設定を反映させるためにクリーンルームをインストールし直す必要があります。
入力: cleanroom_name(string)、consumer_account_locator(string)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.disable_consumer_run_analysis($cleanroom_name, ['<CONSUMER_ACCOUNT_LOCATOR>']);
library.is_provider_run_enabled¶
説明: このクリーンルームがプロバイダー実行分析を有効にしているかチェックします。注意:consumer.enable_templates_for_provider_run
(下記参照)を呼び出すことによって、明示的な承認を与える必要があります。
入力: cleanroom_name(文字列)
出力: 有効メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.is_provider_run_enabled($cleanroom_name)
library.is_consumer_run_enabled¶
説明: このクリーンルームでコンシューマー実行分析が有効になっているかどうかをチェックします。このフラグは、クリーンルームの利用者(インストール担当者)が分析を実行できるかどうか、またはコラボレーションへのデータ提供者として機能するかどうかを決定します。
入力: cleanroom_name(文字列)
出力: 有効メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.library.is_consumer_run_enabled($cleanroom_name)
テンプレートチェーン¶
テンプレートチェーンの作成と管理には、以下のコマンドを使用します。テンプレートチェーンの使用に関する一般的な情報は、「開発者 APIs を使用してテンプレートを順次実行する」(./developer-template-chains.rst)をご参照ください。
provider.add_template_chain¶
説明: 新しいテンプレートチェーンを作成します。テンプレートは、テンプレートチェーンに追加される前に存在していなければなりません。
入力: cleanroom_name(string)、template_chain_name(string)、templates(array of objects)
テンプレートを表す JSON オブジェクトは、以下のフィールドを含むことができます。
template_name
(string) - テンプレートチェーンに追加するテンプレートを指定します。テンプレートはすでに存在していなければなりません。cache_results
(boolean) - テンプレートチェーンの他のテンプレートがアクセスできるように、テンプレートの結果を一時的に保存するかどうかを決定します。結果をキャッシュするには、 TRUE を指定します。output_table_name
(string) - cache_results = TRUE の場合、テンプレート結果が格納されるSnowflakeテーブルの名前を指定します。jinja_output_table_param
(string) - cache_results = TRUE の場合、output_table_nameに格納された結果を受け入れるために他のテンプレートが含める必要のあるJinjaパラメーター名を指定します。cache_expiration_hours
(integer) - cache_results = TRUE の場合、キャッシュ内の結果が削除されるまでの時間数を指定します。キャッシュの有効期限が切れると、次にテンプレートチェーンが実行されたときに、テンプレートの結果でキャッシュがリフレッシュされます。
出力: 成功メッセージ(文字列)
例:
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¶
説明: クリーンルームで現在アクティブなテンプレートを表示します。
入力: cleanroom_name(文字列)
出力:* 追加されたテンプレートチェーン(テーブル)*
例:
call samooha_by_snowflake_local_db.provider.view_added_template_chains($cleanroom_name);
provider.view_template_chain_definition¶
説明: テンプレートチェーンの属性を返します。
入力: cleanroom_name (string), template_chain_name (string)
出力: テンプレートチェーンの定義 (string)
例:
call samooha_by_snowflake_local_db.provider.view_template_chain_definition($cleanroom_name, 'insights_chain');
provider.clear_template_chain¶
説明: クリーンルームから指定されたテンプレート(その名前で参照)を削除します。
入力: cleanroom_name(string)、template_name(string)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.clear_template_chain($cleanroom_name, 'insights_chain');
provider.clear_all_template_chains¶
説明: クリーンルームに追加されたすべてのテンプレートを削除します。
入力: cleanroom_name(文字列)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.clear_all_template_chains($cleanroom_name);
クリーンルーム作成者としての分析¶
provider.submit_analysis_request¶
説明:クリーンルームプロバイダーとして分析を実行するには、分析リクエストを送信します。この分析リクエストはクリーンルームに送られ、コンシューマーのセキュリティポリシーと照合されます。セキュリティーチェックと差分プライバシーレイヤーが解析を許可すると、解析はクリーンルーム内で実行され、結果はクリーンルーム内に安全に保存されます。
プロバイダーが分析を実行できるようにする場合、プロバイダーだけが知っている暗号キーがクリーンルームに追加されます。このキーは分析結果の暗号化に使用され、プロバイダーテナントに転送される前に、安全なキーを使用して復号化されます。これにより、プロバイダーが依頼した分析結果をプロバイダー以外の人が見ることはできません。
入力: cleanroom_name (string)、consumer_account_locator (string)、template_name (string)、consumer_tables (array)、provider_tables (array)、analysis_arguments (object)
出力: request ID (string)
例:
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 (string)、request_id (string)、consumer_account_locator (string)
出力: status (string)
例:
-- 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 (string)、request_id (string)、consumer_account_locator (string)
出力: analysis results (table)
例:
call samooha_by_snowflake_local_db.provider.get_analysis_result(
$cleanroom_name,
$request_id,
'<CONSUMER_ACCOUNT>'
);
Pythonコードをクリーンルームにロードする関数¶
provider.load_python_into_cleanroom¶
説明: 内密に 任意のPython関数をクリーンルームにロードします。このAPIを使ってクリーンルームに読み込まれたコードは、コンシューマーには見えません。出来上がった関数は、SQL Jinja テンプレート内でクリーンルームとして呼び出すことができます。
注釈
この手順は、あなたのPythonコードを既存のバージョンのパッチとしてクリーンルームに追加します。これにより、セキュリティスキャンが再度トリガーされ、コラボレーターに最新バージョンを共有する前に、APPROVEDになるまで待つ必要があるかもしれません。その場合は、provider.set_default_release_directive
を、クリーンルームを最新のバージョン/パッチでプロバイダーに共有する前に呼び出してください。詳細については、Snowflakeネイティブアプリのドキュメントをご参照ください。
入力: cleanroom_name(string)、function_name(string)、arguments(array)、packages(array)、ret_type(string)、handler(string)、code(string)
出力: 成功メッセージ(文字列)
例:
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)
$$
);
クリーンルームUI登録方法¶
以下のコマンドを使用して、カスタム分析をロードしたクリーンルームをSnowflake Data Clean RoomのWebアプリの[カスタム分析]タブに登録します。
provider.add_ui_form_customizations¶
説明::コンシューマーのためにウェブアプリに登録したいクリーンルームのUIフォームのカスタマイズを追加します。最低限、display_name
、description
、methodology
の値を指定する必要があります。
可能なカスタマイズは以下の通りです。
type
: 次のUI要素のいずれかboolean
:真偽値セレクタinteger
:矢印で数字を変更multiselect
:ドロップダウンから複数の項目を選択dropdown
:ドロップダウンから1項目を選択date
:日付セレクタany
:通常のテキスト入力フィールド
choices
:ドロップダウンとマルチセレクトタイプで利用可能な選択肢のリストdefault
:任意のデフォルト値display_name
(必須):UI要素の表示名description
(必須):名前の下に表示される説明methodology
(必須):コンシューマーがフォームを使用して分析を実行する方法の説明。infoMessage
:名前の横にある「i」アイコンにカーソルを合わせると表示される情報メッセージサイズ
:要素サイズをXS
、S
、M
、L
、XL
の間で選択してくださいrequired
:要素が必須かどうかを示します。TRUE
またはFALSE
を指定してください。group
:複数の要素に同じ値を入れてUIフォームでグループ化します。render_table_dropdowns
:ユーザーにテーブルを選択させるデフォルトのドロップダウンリストをテンプレートに表示するかどうかを制御します。指定しない場合は、プロバイダーテーブルとコンシューマーテーブルの両方にドロップダウンが表示されます。すべてのプロバイダーテーブルまたはすべてのコンシューマーテーブルで構成されるドロップダウンリストが必要ですが、それらのリストを表示する必要がない場合は、代わりに参照
パラメーターを使用します。render_table_dropdowns
の値は、以下のキーからなるdictです。render_consumer_table_dropdown
:FALSE
の場合、コンシューマーテーブルのデフォルトのドロップダウンリストは非表示になります。デフォルトはTRUE
です。render_provider_table_dropdown
:FALSE
の場合、プロバイダーテーブルのデフォルトのドロップダウンリストは非表示になります。デフォルトはTRUE
です。
デフォルトのドロップダウンリストを非表示にする場合、カスタムテンプレートで
{{ source_table }}
と{{ my_table}}
の特別引数を使用し、必要なテーブルを含む独自のドロップダウンリストを定義することができます。カスタムテンプレートを定義する際にこれらの特殊変数を使用する方法の詳細については、provider.add_custom_sql_templateをご参照ください。参照
: クリーンルームで利用可能なテーブルまたは列を含むドロップダウンリストを作成します。ウェブアプリで分析を実行する際に、ユーザーインターフェイスを設計段階で各テーブルや列を個別に指定することなく、ユーザーがテーブルや列を選択できるようにします。この文字列には次のような値があります。
PROVIDER_TABLES
: ドロップダウンリストは、クリーンルーム内のすべてのプロバイダーのテーブルで構成されています。CONSUMER_TABLES
: ドロップダウンリストは、クリーンルーム内のすべてのコンシューマーのテーブルで構成されています。PROVIDER_COLUMN_POLICY
: ドロップダウンリストは、プロバイダーの列ポリシーの列、例えば、フィルタリングできる列で構成されます。指定する場合は、provider_parent_table_field
パラメーターも含めて、どのプロバイダーテーブルに列ポリシーが含まれているかを識別する必要があります。PROVIDER_JOIN_POLICY
: ドロップダウンリストは、プロバイダーの結合ポリシーの列、つまり、コンシューマーが結合キーとして使用できるプロバイダーのテーブルの列で構成されます。指定する場合は、provider_parent_table_field
パラメーターも含めて、どのプロバイダーテーブルに結合ポリシーが含まれているかを識別する必要があります。CONSUMER_COLUMNS
: ドロップダウンリストには、コンシューマーの結合ポリシーの列、つまりコンシューマーテーブルの列で、アナリストが結合キーとして使用できる列が表示されます。指定する場合は、consumer_parent_table_field
パラメーターも含めて、どのコンシューマーテーブルに結合ポリシーが含まれているかを識別する必要があります。
provider_parent_table_field
: ユーザーがプロバイダーテーブルを選択するための UI フィールドの名前を指定します。参照
パラメーターがPROVIDER_COLUMN_POLICY
またはPROVIDER_JOIN_POLICY
を指定する場合は必須です。例えば、
a_provider_table
が、アナリストがプロバイダーテーブルを選択できるようにする UI フィールドの名前である場合、ユーザーがプロバイダーテーブルから列を選択できるようにする UI フィールドには、名前と値のペア'provider_parent_table_field': 'a_provider_table'
が含まれることがあります。consumer_parent_table_field
: ユーザーがプロバイダーテーブルを選択するための UI フィールド名を指定します。参照
パラメーターがCONSUMER_COLUMNS
を指定する場合は必須です。例えば、
a_consumer_table
が、アナリストがコンシューマーテーブルを選択できるようにする UI フィールドの名前である場合、ユーザーがテーブルから列を選択できるようにする UI フィールドには、名前と値のペア'consumer_parent_table_field': 'a_consumer_table'
が含まれることがあります。warehouse_hints
:コンシューマーアカウントが分析を実行するために使用するウェアハウスの種類を制御するオプションのカスタマイズ。例えば、ほとんどの機械学習のユースケースでは、SnowflakeはSnowpark最適化ウェアハウスを指定することを推奨します。warehouse_size
の有効な値については、CREATE WAREHOUSEをご参照ください。
ビジュアルのカスタマイズは以下の通りです。
measure_columns
: 出力に表示される量的データポイント。これらの列には、詳細なデータ分析を可能にする指標とディメンションが含まれます。default_output_type
: データを視覚化する形式。サポートされているタイプ:TABLE
: 表形式でデータを表示します。これが既定の出力タイプです。BAR
: 異なるカテゴリーを比較するのに理想的な棒グラフを使用してデータを視覚化します。LINE
: 折れ線グラフを使用して、時間的または連続的なデータの傾向を表示します。PIE
: データを円グラフで表し、比率やパーセンテージを表示するのに適しています。
入力: template name (string)、template_description (dict)、customizations (dict)、output_config (dict)
出力: 成功メッセージ(文字列)
例:
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
}
},
{
'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.register_cleanroom_in_ui¶
説明: コンシューマーがウェブアプリで使用するクリーンルームを登録します。クリーンルームはプロバイダーが開発者APIsを使って作成・設定します。このメソッドは、コンシューマーがインストールし、テーブルを追加し、開発者APIsを使用せずに追加したカスタム分析を実行できるように、ウェブアプリに登録します。クリーンルームとの連携は、ウェブインターフェイスを通じて行います。
ウェブアプリに複数のカスタムテンプレートを含めるために、この API を複数回呼び出すことができます。
入力: cleanroom_name(string)、template name(string)、consumer_account_locator(string)、user_email(string)
出力: 成功メッセージ(文字列)
例:
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¶
説明:クリーンルームをウェブアプリに登録するためにアカウントから発行されたリクエストの一覧を表示します。リクエストごとに関連付けられたIDがあります。これは、view_ui_registration_log
プロシージャと併用して、リクエストのステータスを表示できます。リクエストはバックエンドに共有され、そこで処理され、クリーンルームがクリーンルームに追加されます。
入力:
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.view_ui_registration_request_log();
クリーンルームのメタデータゲッターメソッド¶
クリーンルームの関連プロパティを表示するには、以下のコマンドを使用します。
provider.describe_cleanroom¶
説明:テンプレート、データセット、ポリシーなど、クリーンルームに追加されたすべての情報を含むテキストサマリーを作成します。
入力: cleanroom_name(文字列)
出力: クリーンルームの広範な説明文字列(テーブル)
例:
call samooha_by_snowflake_local_db.provider.describe_cleanroom($cleanroom_name);
provider.view_provider_datasets¶
説明:クリーンルームに追加されたすべてのデータセットを表示します。
入力: cleanroom_name(文字列)
出力: クリーンルーム内の全てのプロバイダーデータセット名(テーブル)
例:
call samooha_by_snowflake_local_db.provider.view_provider_datasets($cleanroom_name);
provider.view_join_policy¶
説明:クリーンルームで現在有効な参加ポリシーを表示します。
入力: cleanroom_name(文字列)
出力: 結合ポリシー(テーブル)
例:
call samooha_by_snowflake_local_db.provider.view_join_policy($cleanroom_name);
provider.view_added_templates¶
説明:クリーンルームで現在アクティブなテンプレートを表示します。
入力: cleanroom_name(文字列)
出力: 追加されたテンプレート(テーブル)
例:
call samooha_by_snowflake_local_db.provider.view_added_templates($cleanroom_name);
provider.view_column_policy¶
説明:クリーンルームで現在有効な列ポリシーを表示します。
入力: cleanroom_name(文字列)
出力: 列ポリシー(テーブル)
例:
call samooha_by_snowflake_local_db.provider.view_column_policy($cleanroom_name);
provider.view_consumers¶
説明:クリーンルームが共有されているコンシューマーを表示します。
入力: cleanroom_name(文字列)
出力: クリーンルームにアクセスできるコンシューマーアカウント(テーブル)
例:
call samooha_by_snowflake_local_db.provider.view_consumers($cleanroom_name);
provider.view_cleanrooms¶
説明: 説明最近作成されたクリーンルームを作成日順に表示します。
入力:
出力: 既存の全クリーンルームを作成日順に並べたもの(テーブル)
例:
call samooha_by_snowflake_local_db.provider.view_cleanrooms();
provider.view_request_logs¶
説明:このクリーンルームの利用者から送信されたリクエストログを表示します。
入力: cleanroom_name(文字列)
出力: クリーンルーム(テーブル)に対して実行されているクエリの記録されたログのセット。
例:
call samooha_by_snowflake_local_db.provider.view_request_logs($cleanroom_name);
一般的なヘルパーメソッド¶
クリーンルームの機能とサポートされるフローを活用するために、一般的に以下の方法を使用します。
provider.grant_reference_usage¶
説明:データを含むアップストリームデータベースにクリーンルームへのreference_usageを許可します。
注釈
このコマンドはウェブアプリ専用です。
これは、register_db
にあるものよりもはるかに限定的なグラントです。上流データベースのデータを参照するビューやUDTFsを追加する場合、この手順を使用する必要がありますが、SAMOOHA_APP_ROLEロールに実際のテーブルを表示させたり、Webアプリのドロップダウンにこれらのデータベースを表示させたりすることはできません。
このコマンドは、リンクされた表示やUDTFsで使用されるデータを含むデータベースで呼び出す必要があります。
入力: database_names (array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.grant_reference_usage(['<DATABASE_NAME>']);
provider.revoke_reference_usage¶
説明:provider.grant_reference_usage
によって作成された参照データベースのリストからデータベースを削除します。
注釈
このコマンドはウェブアプリ専用です。
入力: database_names (array)
出力: 成功メッセージ(文字列)
例:
call samooha_by_snowflake_local_db.provider.revoke_reference_usage(['<DATABASE_NAME>']);
provider.mount_request_logs_for_all_consumers¶
説明: クリーンルームのコンシューマーからプロバイダーへ戻ってくる情報にプロバイダーがアクセスできるようにします。
入力: cleanroom_name(文字列)
出力: 成功メッセージ(文字列)
例:
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 Rooms用のSnowflake Native Appを自動的にアップグレードします。
入力:* なし*
出力: 成功メッセージ(文字列)
例:
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 Rooms用のSnowflake Native Appを自動的にアップグレードします。
入力:* なし*
出力: 成功メッセージ(文字列)
例:
CALL samooha_by_snowflake_local_db.library.disable_local_db_auto_upgrades();