Snowflake Data Clean Rooms Collaboration API

概要

これは Snowflake Data Clean Rooms Collaboration API の参照ページです。この API は COLLABORATION および REGISTRY スキーマを使用します。

注釈

Collaboration API を使用する場合、環境内のセカンダリロールを無効にする必要があります。

USE SECONDARY ROLES NONE;

開発環境のセットアップ方法については、 環境のセットアップ をご参照ください。

コラボレーション API プロシージャへのアクセス管理方法については、 アカウント、オブジェクト、プロシージャの権限を管理するために DCR 権限を使用します。 をご参照ください。

メタデータのチートシート

コラボレーションについてよく検索される情報を見つける方法は、次のとおりです。

知りたい情報

呼び出すプロシージャ

私はどのコラボレーションに参加できますか?

VIEW_COLLABORATIONS:collaboration_name 列が NULL のコラボレーションを探します。

私はどのコラボレーションに参加していますか?

VIEW_COLLABORATIONS:collaboration_name 列が NULL でないコラボレーションを探します。これは、あなたがコラボレーションを作成または結合したことを意味します。

私はどのコラボレーションを所有していますか?

VIEW_COLLABORATIONS:owner_account 列を探します。

コラボレーション内の全コラボレーターのステータスは何ですか?

GET_STATUS

コラボレーションへの参加または作成に関する私のステータスは何ですか?

GET_STATUS または VIEW_COLLABORATIONS

誰がコラボレーションを所有していますか?

GET_STATUS:roles 列で OWNER を探します。

特定のコラボレーションにおける私のコラボレーションロールは何ですか?

GET_STATUS:roles 列を探します。

あるコラボレーションでは、どのようなコラボレーションロールが割り当てられていますか?

GET_STATUS:roles 列を探します。

特定のコラボレーションの仕様は何ですか?

VIEW_COLLABORATIONS:collaboration_spec 列を探します。

仕様は最新ですか?

VIEW_COLLABORATIONS を呼び出して最新の更新がいつ適用されたかを確認できます。ただし、指定された仕様の変更が進行中かどうかを知る方法はありません。

保留中の更新リクエストにはどのようなものがありますか?

``VIEW_UPDATE_REQUESTS``STATUS = PENDING_MY_APPROVAL である行を探します。

特定のコラボレーションの仕様を表示してください。

REVIEW はコラボレーション仕様を返します。すでに REVIEW を呼び出している場合、またはコラボレーションに参加している場合は、コラボレーション名を指定して以下の SQL コマンドを呼び出します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.
  VIEW_COLLABORATIONS() ->>
    SELECT "COLLABORATION_SPEC" FROM $1
      WHERE "SOURCE_NAME" = <collaboration name>;

テンプレートのプロシージャ

REGISTER_TEMPLATE

スキーマ:

REGISTRY

コラボレーションで使用できるようにテンプレートを登録します。登録されたすべてのテンプレートは、アカウントにあるすべてのレジストリですべてのテンプレートに対して一意の名前とバージョンを持っている必要があります。

構文

REGISTER_TEMPLATE( ['<registry_name>' ,] <template_spec> )

引数

registry_name (オプション)

このテンプレートを登録する カスタムレジストリ の名前。指定しない場合、テンプレートはデフォルトのアカウントレジストリに登録されます。

template_spec

YAML 形式の :ref:`テンプレート定義 <label-dcr_collaboration_template_yaml>`(文字列)。

戻り値

コラボレーション仕様で使用するテンプレート ID。

デフォルトのレジストリにテンプレートを登録します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_TEMPLATE(
  $$
  api_version: 2.0.0
  spec_type: template
  name: my_test_template
  version: 2026_01_12_V1
  type: sql_analysis
  description: A test template
  template:
    SELECT * FROM IDENTIFIER({{ source_table[0] }}) LIMIT 10;
$$);

カスタムレジストリにテンプレートを登録します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_TEMPLATE(
  'my_custom_registry',
  $$
  api_version: 2.0.0
  spec_type: template
  name: my_test_template
  version: 2026_01_12_V1
  type: sql_analysis
  description: A test template
  template:
    SELECT * FROM IDENTIFIER({{ source_table[0] }}) LIMIT 10;
$$);

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合は、以下のプロシージャを呼び出して権限を付与されたロールを使用する必要があります。

デフォルトのレジストリにオブジェクトを登録するには:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER TEMPLATE', 'role name')

カスタムレジストリにアイテムを登録するには:

  • 自分で作成したカスタムレジストリに対する読み取りおよび書き込みの権限があります。

  • 他のユーザーが作成したカスタムレジストリにアクセスするには、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'MY_REGISTRY', '{role name}')`が必要です。


VIEW_REGISTERED_TEMPLATES

スキーマ:

REGISTRY

登録したすべてのテンプレートを一覧表示します。テンプレートを登録するには、 REGISTRY.REGISTER_TEMPLATE. を呼び出します。

構文

VIEW_REGISTERED_TEMPLATES( [ '<registry_name>' ] )

引数

registry_name (オプション)

テンプレートをリストする:doc:`カスタムレジストリ</user-guide/cleanrooms/registries>`の名前。指定しない場合、デフォルトのアカウントレジストリからテンプレートを一覧表示します。

戻り値

このアカウントで登録したすべてのテンプレートの詳細をリストしたテーブル。テーブルには、次の列が含まれています。

  • TEMPLATE_ID:テンプレートのID。

  • NAME:テンプレート名。

  • VERSION:テンプレートバージョン。

  • TEMPLATE_SPEC:テンプレートの完全なYAML仕様。

  • REGISTRY:テンプレートが登録されているレジストリ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_TEMPLATES();

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

デフォルトのレジストリのアイテムを表示するには:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED TEMPLATES', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

カスタムレジストリのアイテムを表示するには:

  • 自分で作成したカスタムレジストリに対する読み取りおよび書き込みの権限があります。

  • 他のユーザーが作成したカスタムレジストリにアクセスするには、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'MY_REGISTRY', '{role name}')`が必要です。


ADD_TEMPLATE_REQUEST

スキーマ:

COLLABORATION

既存のコラボレーションにテンプレートをリンクするリクエストを送信します。送信者がリクエストの影響を受ける場合、送信者では自動的にリクエストが承認されます。既存のコラボレーションにテンプレートをリンクするには、コラボレーションの所有者も含めてすべてのコラボレーターがこのプロシージャを呼び出す必要があります。

テンプレートの共有者を追加するには、エイリアスを指定してこのプロシージャを再度呼び出します。各呼び出しごとに、 share_with にリストされているユーザーが既存の共有者リストに追加されます。

リクエストのステータスを見るには、VIEW_UPDATE_REQUESTS を呼び出します。

リンクテンプレートフローをご参照ください。

構文

ADD_TEMPLATE_REQUEST( <collaboration_name>, <template_id>, <share_with> )

引数

collaboration_name

テンプレートをリンクするコラボレーションの名前。

template_id

コラボレーションにリンクするテンプレートの ID。この値を取得するには、テンプレートを登録します。

share_with

このテンプレートを共有する分析実行者の*エイリアス*の配列。このテンプレートに関連付けられている他のコラボレーターに加えて、ここにリストされているコラボレーターが追加されます。ここにリストされているすべてのコラボレーターは分析実行者である必要があります。そうでない場合、このプロシージャは失敗し、このテンプレートは誰とも共有されません。

戻り値

文字列の成功メッセージ。

-- Ask to link the template only for Collaborator3 in this collaboration.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.ADD_TEMPLATE_REQUEST(
  $collaboration_name,
  $template_alias,
  ['Collaborator3']
);

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合は、以下のプロシージャを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • 次のいずれかの権限です。

    • :samp:`GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', '{role name}')`に加えて、ロールに手動で付与する必要があるすべての追加のアカウントレベルの権限。

    • :samp:`GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', '{role name}')`に加えて、ロールに手動で付与する必要があるすべての追加のアカウントレベルの権限。

  • テンプレートがカスタムレジストリにある場合は、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE( 'READ', '{registry name}', '{role name}')`も必要です。


REMOVE_TEMPLATE

スキーマ:

COLLABORATION

指定されたコラボレーターの特定のコラボレーションからテンプレートを削除する非同期リクエスト。テンプレートを登録したコラボレーターのみがテンプレートを削除できます。登録したテンプレートを削除するのに、他の承認は必要ありません。テンプレートが削除されたコラボレーターはそのテンプレートを表示できなくなります。

構文

REMOVE_TEMPLATE( <collaboration_name>, <template_id>, <remove_for> )

引数

collaboration_name

テンプレートを削除するコラボレーションの名前。

template_id

コラボレーションから削除するテンプレートの ID。

remove_for

このコラボレーションで、このテンプレートを表示または使用できなくなった分析実行者の1つ以上の*エイリアス*の配列。

戻り値

文字列の成功メッセージ。コラボレーターのテンプレートが削除されたかどうかを確認するには、コラボレーション仕様を表示します。

-- Prevent collaborator_1234 from using the specified template
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REMOVE_TEMPLATE(
  $collaboration_name,
  $template_id,
  ['collaborator_1234']
);

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合は、以下のプロシージャを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • 次のいずれかの権限です。

    • :samp:`GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', '{role name}')`に加えて、ロールに手動で付与する必要があるすべての追加のアカウントレベルの権限。

    • :samp:`GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', '{role name}')`に加えて、ロールに手動で付与する必要があるすべての追加のアカウントレベルの権限。

  • テンプレートがカスタムレジストリにある場合、またはカスタムレジストリのコード仕様を参照している場合は、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE( 'READ', '{registry name}', '{role name}')`も必要です。


VIEW_TEMPLATES

スキーマ:

COLLABORATION

指定したコラボレーションで実行できるすべてのテンプレート、またはそのコラボレーション宛てに送信したすべてのテンプレートを表示します。

構文

VIEW_TEMPLATES( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。テンプレートをリストする前に、このコラボレーションを確認または参加する必要があります。

戻り値

自分で登録したテンプレートなど、このコラボレーションで実行できるテンプレートに関する情報を一覧表示したテーブル。テーブルには、次の列が含まれています。

  • template_id:テンプレートの ID。これを RUN コマンドの template フィールドまたは template_id パラメーターに渡します。

  • template_spec:このテンプレートの テンプレート仕様 には、このテンプレートに対する完全な JinjaSQL が含まれます。

  • parameters:このテンプレートが受け入れるすべての引数の説明(JSON 形式)各パラメーターに関する情報には、名前、デフォルト値、テンプレートプロバイダーが作成した説明、および必須かどうかが含まれます。これらのパラメーターの値を RUN コマンドに渡します。

  • shared_by:このテンプレートを登録したコラボレーター。

  • shared_with:このテンプレートが共有されるコラボレーター。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_TEMPLATES(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW TEMPLATES', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


ENABLE_TEMPLATE_AUTO_APPROVAL

スキーマ:

COLLABORATION

他のコラボレーターから送信されたすべてのテンプレート更新リクエストが自動的に承認されるようにします。リクエストは引き続きリクエストログに表示されます。これは、自動承認を有効した後に送信されたリクエストのみに影響します。

構文

ENABLE_TEMPLATE_AUTO_APPROVAL( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。

戻り値

文字列の成功メッセージ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.ENABLE_TEMPLATE_AUTO_APPROVAL(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


DISABLE_TEMPLATE_AUTO_APPROVAL

スキーマ:

COLLABORATION

他のコラボレーターから送信されたテンプレートリクエストの自動承認を無効にします。今後のリクエストはすべて、APPROVE_UPDATE_REQUEST を呼び出して手動で承認する必要があります。

構文

DISABLE_TEMPLATE_AUTO_APPROVAL( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。

戻り値

文字列の成功メッセージ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.DISABLE_TEMPLATE_AUTO_APPROVAL(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

データ提供のプロシージャ

REGISTER_DATA_OFFERING

スキーマ:

REGISTRY

コラボレーション定義にリンクできるよう、データ提供を登録します。登録済みデータ提供の登録を解除することはできません。既存のデータ提供を上書きすることはできませんが、同じ名前で新しいバージョンの新しいデータ提供を登録することはできます。データ提供の新しいバージョンを作成しても、以前のバージョンは削除されません。

すべてのデータ提供には、アカウントにあるすべてのレジストリのすべてのデータ提供に対して一意の名前とバージョンが必要です。

このテーブルをコラボレーションの他の人と共有したい場合は、コラボレーションを作成する前に、コラボレーション仕様にテーブルを追加します。

コラボレーションで共有するデータには、 GRANT OPTION を有する REFERENCE_USAGE 権限が付与されている必要があります。そうでないと、コラボレーションに参加しようとしたときやオブジェクトを登録しようとしたときに、「参照使用許可がありません」というエラーが表示されます。この問題の処理方法についての詳細。

構文

REGISTER_DATA_OFFERING( ['<registry_name>' ,] <data_offering_spec> )

引数

registry_name (オプション)

このデータ提供を登録する カスタムレジストリ の名前。指定しない場合、データ提供はデフォルトのアカウントレジストリに登録されます。

data_offering_spec

このデータ提供を説明する YAML 形式の データ提供定義

戻り値

コラボレーションの data_offerings.id フィールドに使用されるデータ提供 ID。

デフォルトのレジストリにデータ提供を登録します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_DATA_OFFERING(
    $$
    api_version: 2.0.0
    spec_type: data_offering
    version: v1
    name: customers
    datasets:
     - alias: customers_1
       data_object_fqn: SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS
       allowed_analyses: template_only
       schema_and_template_policies:
         hashed_email:
           category: join_custom
         status:
           category: passthrough
    $$
  );

カスタムレジストリにデータ提供を登録します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_DATA_OFFERING(
    'my_custom_registry',
    $$
    api_version: 2.0.0
    spec_type: data_offering
    version: v1
    name: customers
    datasets:
     - alias: customers_1
       data_object_fqn: SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS
       allowed_analyses: template_only
       schema_and_template_policies:
         hashed_email:
           category: join_custom
         status:
           category: passthrough
    $$
  );

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合は、以下のプロシージャを呼び出して権限を付与されたロールを使用する必要があります。

デフォルトのレジストリにデータ提供を登録するには:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER DATA OFFERING', 'role name')

カスタムレジストリにアイテムを登録するには:

  • 自分で作成したカスタムレジストリに対する読み取りおよび書き込みの権限があります。

  • 他のユーザーが作成したカスタムレジストリにアクセスするには、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'MY_REGISTRY', '{role name}')`が必要です。


VIEW_REGISTERED_DATA_OFFERINGS

スキーマ:

REGISTRY

登録したすべてのデータ提供をリストします。コラボレーションに存在する、他のユーザーがリンクしたデータ提供物を表示するには、 COLLABORATION.VIEW_DATA_OFFERINGS. を呼び出します。

構文

VIEW_REGISTERED_DATA_OFFERINGS( [ '<registry_name>' ] )

引数

registry_name (オプション)

データ提供をリストする:doc:`カスタムレジストリ</user-guide/cleanrooms/registries>`の名前。指定しない場合、デフォルトのアカウントレジストリからデータ提供を一覧表示します。

戻り値

このアカウントで登録したすべてのデータ提供の詳細を一覧表示するテーブル。テーブルには、次の列が含まれています。

  • DATA_OFFERING_ID:データ提供のID。

  • NAME:データ提供の名前。

  • VERSION:データ提供のバージョン。

  • DATA_OFFERING_SPEC:データ提供の完全なYAML仕様。

  • REGISTRY:データ提供が登録されているレジストリ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS();

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

デフォルトのレジストリのアイテムを表示するには:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED DATA OFFERINGS', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

カスタムレジストリのアイテムを表示するには:

  • 自分で作成したカスタムレジストリに対する読み取りおよび書き込みの権限があります。

  • 他のユーザーが作成したカスタムレジストリにアクセスするには、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'MY_REGISTRY', '{role name}')`が必要です。


VIEW_DATA_OFFERINGS

スキーマ:

COLLABORATION

指定したコラボレーションに存在する、分析実行者としてアクセスできる、または自分でリンクしたすべてのデータ提供物を一覧表示します。自分が登録したデータ提供のみを表示するには、 REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS を呼び出します。

コラボレーターXがコラボレーションに参加した後にのみ、コラボレーターXからのデータ提供を見ることができます。

構文

VIEW_DATA_OFFERINGS( <collaboration_name> )

引数

collaboration_name

探索するコラボレーションの名前。

戻り値

指定されたコラボレーションにおけるすべてのデータ提供に関する情報。テーブルには、次の列が含まれています。

  • template_view_name:テンプレートを使用してクエリを実行するために RUN を呼び出す際に、提供物を参照するために使用される完全修飾ビュー名。この名前を RUN 仕様の source_tables フィールドに渡します。

  • template_join_columns:テンプレートベースのクエリの結合で使用できる、このテーブルの列の名前。

  • analysis_allowed_columns:テンプレートベースのクエリで投影できるこのテーブルの列の名前。

  • activation_allowed_columns:アクティブ化できるこのテーブルの列の名前。

  • freeform_sql_view_name:自由形式の SQL クエリで使用される完全修飾ビュー名(データセットが 自由形式の SQL クエリ をサポートしている場合)データセットが自由形式の SQL クエリを提供しない場合、このセルは空です。

  • freeform_sql_column_policies:このコラボレーション内にあるすべての 自由形式の列ポリシー の、ポリシータイプをキーとした JSON 表現。

  • shared_by:このデータ提供をリンクしたコラボレーター。

  • shared_with:分析でデータを使用できる人。この値が LOCAL の場合は、データをホストする人物以外、どのコラボレーターとも共有されないローカルデータセットです。

  • data_offering_id:登録時に生成されたこのデータ提供の一意の ID。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_DATA_OFFERINGS(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW DATA OFFERINGS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

カスタム関数プロシージャ

REGISTER_CODE_SPEC

スキーマ:

REGISTRY

コードバンドルを登録します。これにより、クリーンルーム環境のREGISTRY.CODE_SPECSテーブルにコードが保存されます。コード仕様が登録されると、テンプレートで使用できるようになります。

登録されたすべてのコード仕様は、アカウント内のすべてのレジストリにおいて一意の「名前+バージョン」を持つ必要があります。

構文

REGISTER_CODE_SPEC( ['<registry_name>' ,] <code_spec> )

引数

registry_name (オプション)

このコード仕様を登録する:doc:`カスタムレジストリ</user-guide/cleanrooms/registries>`の名前。指定しない場合、コードバンドルはデフォルトのアカウントレジストリに登録されます。

code_spec

文字列としての、YAML形式のコードバンドル仕様定義。

戻り値

生成されたコードバンドル仕様ID。

デフォルトレジストリへのコードバンドルの登録:

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_CODE_SPEC(
  $$
  api_version: 2.0.0
  spec_type: code_spec
  name: custom_udf
  version: v1
  description: Custom UDF for data normalization

  functions:
    - name: normalize_value
      type: UDF
      language: PYTHON
      runtime_version: "3.10"
      handler: normalize
      arguments:
        - name: value
          type: FLOAT
        - name: min_val
          type: FLOAT
        - name: max_val
          type: FLOAT
      returns: FLOAT
      code_body: |
        def normalize(value, min_val, max_val):
            if max_val == min_val:
                return 0.0
            return (value - min_val) / (max_val - min_val)
  $$
);

カスタムレジストリへのコードバンドルの登録:

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.REGISTER_CODE_SPEC(
  'my_custom_registry',
  $$
  api_version: 2.0.0
  spec_type: code_spec
  name: custom_udf
  version: v1
  description: Custom UDF for data normalization

  functions:
    - name: normalize_value
      type: UDF
      language: PYTHON
      runtime_version: "3.10"
      handler: normalize
      arguments:
        - name: value
          type: FLOAT
        - name: min_val
          type: FLOAT
        - name: max_val
          type: FLOAT
      returns: FLOAT
      code_body: |
        def normalize(value, min_val, max_val):
            if max_val == min_val:
                return 0.0
            return (value - min_val) / (max_val - min_val)
  $$
);

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合は、以下のプロシージャを呼び出して権限を付与されたロールを使用する必要があります。

デフォルトのレジストリにオブジェクトを登録するには:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REGISTER CODE SPEC', 'role name')

カスタムレジストリにアイテムを登録するには:

  • 自分で作成したカスタムレジストリに対する読み取りおよび書き込みの権限があります。

  • 他のユーザーが作成したカスタムレジストリにアクセスするには、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'MY_REGISTRY', '{role name}')`が必要です。


VIEW_REGISTERED_CODE_SPECS

スキーマ:

REGISTRY

ローカルアカウントレジストリでこのロールによって登録されているすべてのコードバンドル仕様を一覧表示します。

構文

VIEW_REGISTERED_CODE_SPECS( [ '<registry_name>' ] )

引数

registry_name (オプション)

コードバンドルを一覧表示する カスタムレジストリ の名前。指定しない場合、デフォルトのアカウントレジストリからコードバンドルを一覧表示します。

戻り値

このアカウントで登録したすべてのコードバンドルの詳細を一覧表示するテーブル。テーブルには、次の列が含まれています。

  • code_spec_id:コードバンドル仕様のID。

  • name:コードバンドルの仕様名。

  • version:コードバンドル仕様のバージョン。

  • code_spec:コードバンドル仕様の完全なYAML仕様。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTERED_CODE_SPECS();

アクセス要件

SAMOOHA_APP_ROLEロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

デフォルトのレジストリのアイテムを表示するには:

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTERED CODE SPECS', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

カスタムレジストリのアイテムを表示するには:

  • 自分で作成したカスタムレジストリに対する読み取りおよび書き込みの権限があります。

  • 他のユーザーが作成したカスタムレジストリにアクセスするには、:samp:`GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'MY_REGISTRY', '{role name}')`が必要です。


VIEW_CODE_SPECS

スキーマ:

COLLABORATION

指定されたコラボレーション内でユーザーが作成した、またはユーザーが実行できるテンプレートによって参照されるすべてのコードバンドル仕様を返します。

構文

VIEW_CODE_SPECS( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。

戻り値

指定されたコラボレーションで利用可能なコードバンドルを一覧表示するテーブル。テーブルには、次の列が含まれています。

  • code_spec_id:このコードバンドル仕様のID。

  • code_spec:コードバンドル仕様の完全なYAML仕様。

  • shared_by:コードバンドル仕様を共有したコラボレーターのエイリアス。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_CODE_SPECS(
  $collaboration_id
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW CODE SPECS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

リクエストプロシージャの更新

これらのプロシージャは、 テンプレートフローのリンク など、承認を必要とするコラボレーション更新リクエストを管理するために使用されます。

VIEW_UPDATE_REQUESTS

スキーマ:

COLLABORATION

指定したコラボレーションで作成した更新リクエスト、または承認または拒否できるすべての更新リクエストを表示できます。これには、データ提供、テンプレート、コードパッケージの追加など、すべてのコラボレーションの変更が含まれます。このプロシージャは、更新のステータスを示します。更新リクエストが登録されるまでに数秒かかる場合があるため、直前に送信したばかりのリクエストが表示されない場合があります。

リンクテンプレートフローをご参照ください。

構文

VIEW_UPDATE_REQUESTS( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。

戻り値

このコラボレーションで送信された更新リクエストのテーブル。以下の情報が含まれます。

  • id:リクエストの ID。リクエストの承認または拒否に使用します。

  • type:リクエストのタイプ。次の値がサポートされています。

    • テンプレートの追加

    • データ提供のリンク

    • データ提供のリンク解除

    • テンプレートの削除

  • status:リクエストの現在のステータス。次のステータスが報告されます。

    • REQUESTED:リクエストが送信されたことを意味します。

    • PENDING_MY_APPROVAL:リクエストは承認または拒否待ちです。

    • PENDING_PARTNER_APPROVAL:あなたはリクエストを承認しましたが、まだ1人以上の他のコラボレーターがそのリクエストを承認する必要があります。

    • REJECTED:コラボレーションの参加者がこのリクエストを拒否しました。

    • APPROVED:すべての必須承認者によってリクエストが承認されました。

    • COMPLETED:更新アクションが完了し、コラボレーションに変更が適用されました。コードバンドルを含むテンプレートの場合は、コードバンドルが呼び出し可能な状態になったことを確認するために、:doc:`アップグレード状態をチェックする</user-guide/cleanrooms/resources-code-bundles>`必要があります。

    • FAILED:更新アクションが失敗しました。失敗の詳細については DETAILS 列をご参照ください。

  • approval_log:リクエストのすべての承認と拒否のログ。リクエストが拒否された場合、拒否理由もここに記載されます。

  • details:テンプレートの名前、説明、共有者(「テンプレート追加」リクエストの場合)など、リクエストタイプに固有の詳細。

  • spec:更新されるリソースの詳細。たとえば、「テンプレート追加」リクエストの場合は、テンプレート仕様。

  • updated_on:このリクエスト(たとえば、承認や拒否)に対して最後のアクションが行われたときのタイムスタンプ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_UPDATE_REQUESTS(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW UPDATE REQUESTS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


APPROVE_UPDATE_REQUEST

スキーマ:

COLLABORATION

コラボレーション更新リクエストを承認します。保留中のリクエストのリストを表示するには、VIEW_UPDATE_REQUESTS を呼び出します。いったん承認したリクエストを後で拒否することはできません。

影響を受けるすべてのコラボレーターがリクエストを承認すると、変更が実際にコラボレーションに適用されます。

リンクテンプレートフローをご参照ください。

構文

APPROVE_UPDATE_REQUEST( <collaboration_name>, <request_id> )

引数

collaboration_name

コラボレーションの名前。

request_id

リクエストの ID。

戻り値

文字列の成功メッセージ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.APPROVE_UPDATE_REQUEST(
  $collaboration_name,
  $request_id
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


REJECT_UPDATE_REQUEST

スキーマ:

COLLABORATION

コラボレーション更新リクエストを拒否します。1つでも拒否があると、コラボレーションに変更が適用されません。リクエストを拒否した後は承認できません。

構文

REJECT_UPDATE_REQUEST( <collaboration_name>, <request_id>, <reason> )

引数

collaboration_name

コラボレーションの名前。

request_id

リクエストの ID。

reason

リクエストが拒否された理由の人間が読める説明。この引数は必須ですが、空の文字列を送信することができます。

戻り値

文字列の成功メッセージ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REJECT_UPDATE_REQUEST(
  $collaboration_name,
  'request_1324f934457',
  'Needs more cowbell'
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE UPDATE REQUEST', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

コラボレーション管理プロシージャ

INITIALIZE

スキーマ:

COLLABORATION

所有者はこれを呼び出してコラボレーションを作成し、任意でコラボレーションに参加します。auto_join_warehouse が FALSE の場合、 JOIN を別に呼び出して他のコラボレーターがコラボレーションを利用できるようにする必要があります。INITIALIZE を呼び出す場合と JOIN を呼び出す場合は、同じロールを使用する必要があります。

既存のコラボレーションと同じ name 値でコラボレーション定義を送信すると、エラーがスローされます。

コラボレーションの作成および参加には時間がかかるため、GET_STATUSを呼び出して、コラボレーションに参加したことを確認する必要があります。

構文

INITIALIZE( <collaboration_spec> [, '<auto_join_warehouse>'] )

引数

collaboration_spec

:ref:` 形式の <label-dcr_collaboration_spec_yaml>コラボレーション定義 `YAML(文字列)。

auto_join_warehouse (オプション)

有効なSnowflake識別子としてウェアハウス名を指定する文字列。指定した場合、このウェアハウスを使用してコラボレーションの作成と参加が行われます。指定しない場合は、現在のウェアハウスを使用してコラボレーションが作成されます。その後、JOINを呼び出してコラボレーションに参加する必要があります。XSウェアハウスをお勧めします。

戻り値

以下の列を持つテーブル。

  • collaboration_name:コラボレーションの名前。コラボレーションを指定する必要があるプロシージャで使用します。

  • message:初期化リクエストに関する情報。

  • auto_join_task:auto_join_warehouse が指定された場合、自動結合タスクが作成されたかどうかを示します。

次の例では、Aliceが所有者で、Bobから提供されたデータを使って分析を実行できるコラボレーションを作成します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.INITIALIZE(
  $$
  api_version: 2.0.0
  spec_type: collaboration
  name: basic_collaboration
  owner: alice
  collaborator_identifier_aliases:
    alice: corp_id.account_id
    bob: corp2_id.account2_id
  analysis_runners:
    alice:
      data_providers:
        bob:
          data_offerings:
          - id: bob_data_v1
      templates:
      - id: alice_test_template_2026_01_12_V1
  $$,
  'APP_WH'
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合は、次のプロシージャを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

    ``auto-join-warehouse``パラメーターを指定し、SAMOOHA_APP_ROLE以外のロールを使用する場合、そのロールにはEXECUTETASKアカウントレベルの権限も付与されている必要があります。

追加の必要なロール権限については、 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE を参照してください。


TEARDOWN

スキーマ:

COLLABORATION

すべての関係者のコラボレーションを削除するために、所有者によって呼び出されます。

**このプロシージャは2回呼び出す必要があります。**1回呼び出した後、GET_STATUS が返されるまで LOCAL_DROP_PENDING を呼び出し、その後、このプロシージャを再度呼び出します。

注釈

このプロシージャは、自分が作成して参加したコラボレーションに対してのみ呼び出すことができます。コラボレーションを作成したが、まだ参加していない場合は、コラボレーションを破棄する前に参加する必要があります。

構文

TEARDOWN( <collaboration_name> )

引数

collaboration_name

削除するコラボレーションの名前。

戻り値

文字列の成功メッセージ。

-- Start the process.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.TEARDOWN($collaboration_name);

-- Call until it returns LOCAL_DROP_PENDING.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS($collaboration_name);

-- Final call.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.TEARDOWN($collaboration_name);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

追加の必要なロール権限については、 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE を参照してください。


GET_STATUS

スキーマ:

COLLABORATION

指定されたコラボレーションのすべてのコラボレーターに関する情報を表示します。

コラボレーションの作成や参加などの非同期操作を実行した場合は、それらの操作が完了したことを確認してから、そのコラボレーションで追加のアクション(分析の実行など)を実行する必要があります。このプロシージャは、コラボレーションに招待された人は誰でも呼び出すことができます。

コラボレーションの所有者は、以下のステータスパスを表示できます。

  • CREATING|ra|CREATED|ra|INSTALLING|ra|IN_REVIEW(またはINSTALLATION_FAILED)|ra|JOINING|ra|JOINED(またはJOIN_FAILED)

非所有者には、以下のステータスパスが表示されます。

  • INSTALLING|ra|IN_REVIEW(またはINSTALLATION_FAILED)|ra|JOINING|ra|JOINED(またはJOIN_FAILED)

構文

GET_STATUS( <collaboration_name> )

引数

collaboration_name

ステータスを確認するコラボレーションの名前。コラボレーションのリストを表示するには、 COLLABORATION.VIEW_COLLABORATIONS を呼び出します。GET_STATUS を呼び出すには、コラボレーションに招待されているか、参加している必要があります。

戻り値

指定されたコラボレーションの全コラボレーターの最新の参加試行の詳細を示すテーブル。テーブルには、次の列が含まれています。

  • updated_on:システムからステータスが報告されたときのタイムスタンプ。

  • collaborator_account:このコラボレーターのデータ共有アカウント ID。

  • collaborator_name:コラボレーション仕様で宣言されている、コラボレーターのエイリアス。

  • roles:このコラボレーターの実際のロールと潜在的なロール。値は、ownerdata_provideranalysis_runner などです。

  • status:更新時のステータス。以下の値がサポートされており、指定されたコラボレーションにおける名前付きコラボレーターのステータスが表示されます。

    • CREATING:コラボレーションの作成が開始されました。

    • CREATE_FAILED:コラボレーションの作成に失敗しました。

    • CREATE_TIMED_OUT:コラボレーションの作成がタイムアウトしました。

    • CREATED:コラボレーションが作成され、操作する準備ができました。

    • INSTALLING:アプリケーションパッケージをインストールし、レビューのためにコラボレーションの詳細を準備します。

    • IN_REVIEW:コラボレーションはレビュー中です。

    • INSTALLATION_FAILED:アプリケーションパッケージはインストールされておらず、レビューできません。

    • INVITED:参加者が招待されました。

    • JOINING:参加プロセスが開始されました。

    • JOIN_FAILED:参加プロセスに失敗しました。

    • JOINED:コラボレーションに正常に参加しました。コラボレーションを使い始めることができます。

    • LEAVING:終了プロセスが開始されました。

    • LEAVE_FAILED:終了処理が失敗しました。

    • LEFT:コラボレーションを正常に終了しました。

    • LOCAL_DROP_PENDING:コラボレーションを削除または終了するリクエストを正常に行いました。TEARDOWN または LEAVE を再び呼び出してプロセスを完了してください。

    • DROPPING:削除プロセスが開始されました。

    • DROPPED:正常に削除されました。

    • DROP_FAILED:削除プロセスが失敗しました。

  • details:該当する場合は、現在のステータスに関する追加情報。

  • region:このコラボレーターのクラウドリージョン。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('GET STATUS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION

スキーマ:

ADMIN

アカウントで分析を実行するために使用される外部テーブルおよび Apache Iceberg™ テーブルを有効化します。分析実行者は、外部テーブルまたはIcebergテーブルを含む分析を実行する前に、これを呼び出す必要があります。このプロシージャは、分析ごとに1回ではなく、コラボレーションごとに1回呼び出します。

構文

ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。

戻り値

成功メッセージを含む MESSAGE 列を持つテーブル。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.ENABLE_EXTERNAL_TABLE_ANALYSIS_FOR_COLLABORATION(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合は、MANAGEFIREWALLCONFIGURATION 権限が付与されたロールを使用してこのプロシージャを呼び出す必要があります。


VIEW_COLLABORATIONS

スキーマ:

COLLABORATION

自分が作成したか、確認できるか、または参加したコラボレーションに関する情報を表示します。

構文

VIEW_COLLABORATIONS()

引数

なし

戻り値

アクセス可能なすべてのコラボレーションの詳細を一覧表示したテーブル。テーブルには、次の列が含まれています。

  • source_name:コラボレーション仕様の name 値で指定されたコラボレーションの名前。

  • collaboration_name:インストールされたコラボレーションの名前。これは、JOIN(所有者)または REVIEW(非所有者)の呼び出しによってコラボレーションがインストールされるまで NULL です。

  • owner_account:コラボレーションを作成したアカウントのデータ共有 ID。

  • updated_on:コラボレーションが最後に更新された時刻。

  • collaboration_spec:これは、コラボレーションの最新バージョンを示しており、コラボレーションが作成された後に追加または削除されたリソースも含まれます。これは、コラボレーションの最新バージョンを示しており、コラボレーションが作成された後にリンクまたは削除されたリソースも含まれます。ただし、新規または削除されたテンプレートやデータ提供など、まもなくリンクされる進行中の更新リクエストが存在する可能性があります。

すべてのコラボレーションを表示します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS();

名前で指定されたコラボレーションの仕様を表示します。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_COLLABORATIONS() ->>
SELECT "COLLABORATION_SPEC" FROM $1 WHERE "SOURCE_NAME" = $collaboration_name;

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW COLLABORATIONS', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


REVIEW

スキーマ:

COLLABORATION

招待されたコラボレーションの詳細を提供します。COLLABORATION.VIEW_COLLABORATIONS を呼び出して、招待されているがまだ参加していないコラボレーションを確認できます。所有者を除くすべてのコラボレーターは、JOIN を呼び出す前に、このプロシージャを呼び出す必要があります。参加済みのコラボレーションでは、このプロシージャを呼び出すことはできません。REVIEW および JOIN を呼び出すときは、同じロールを使用する必要があります。アカウントが所有者と異なるクラウドホスティングリージョンにある場合は、正常な応答が返されるまでこのプロシージャを数回呼び出すことが必要になることがあります。

このプロシージャは、基になるアプリケーションをアカウントにインストールします。

重要な注意点:

  • 所有者は自分のコラボレーションで REVIEW を呼び出すことができません。

  • 所有者以外は全員、REVIEW を呼び出す前に JOIN を呼び出す必要があります。

  • コラボレーションに参加した後は、REVIEW を呼び出せなくなります。

構文

REVIEW( <source_name>, <owner_account> )

引数

source_name

参加するよう招待されたコラボレーションの名前。コラボレーションのリストを表示するには、 COLLABORATION.VIEW_COLLABORATIONS を呼び出します。

owner_account

所有者の データ共有アカウント識別子。これは、 COLLABORATION.VIEW_COLLABORATIONS の応答にあります。

戻り値

コラボレーション ID、所有者、コラボレーション仕様を含む、コラボレーションに関する情報のテーブル。

アカウントが 異なるクラウドホスティング地域 にある場合、コラボレーション所有者の REVIEW は追加のセットアップ手順がまだ実行中であることを示すメッセージを返す場合があります。このメッセージが表示された場合は、コラボレーションに関する情報テーブルが返されるまで引き続き REVIEW を呼び出してください。

-- View the collaboration for your own usage.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.REVIEW(
  $collaboration_name,
  'org1.account1234'
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('REVIEW COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

追加の必要なロール権限については、 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE を参照してください。


JOIN

スキーマ:

COLLABORATION

指定されたコラボレーションに参加する非同期メソッド。アクセスできるのは、参加した時点でコラボレーションにリストされているリソースのみであることに注意してください。このプロシージャの実行には時間がかかります。

データをアクティブ化できるコラボレーションに参加するための REGISTERDATAOFFERING アカウント権限を付与されている必要があります(つまり、ご自身は分析実行者であり、コラボレーション仕様に activation_destinations フィールドが含まれています)。アクセス管理 API リファレンスガイド を参照してください。

このプロシージャを実行するときは、アクティブなセカンダリロールを持てません。次の SQL コードを実行してセカンダリロールを無効にします。

USE SECONDARY ROLES NONE;

コラボレーション作成者以外は全員、このプロシージャを呼び出す前に COLLABORATION.REVIEW を呼び出す必要があります。

このプロシージャは非同期です。GET_STATUS を呼び出して、コラボレーションに正常に参加したことを確認してください。

コラボレーションにリソースを提出する場合、またはコラボレーションでテンプレートを実行する場合、まずコラボレーションに参加する必要があります。INITIALIZE を呼び出すと、コラボレーション作成者は自動的に結合します(ただし auto_join_warehouse が FALSE に設定されていない場合)

構文

JOIN( <collaboration_name> )

引数

collaboration_name

参加するコラボレーションの名前。コラボレーションのリストを表示するには、 COLLABORATION.VIEW_COLLABORATIONS を呼び出します。同じ名前の複数のコラボレーションに参加するように招待されている場合、デフォルトでは最後に COLLABORATION.REVIEW を呼び出したコラボレーションが呼び出されます。

戻り値

文字列の成功メッセージ。「参照使用許可がありません」というエラーが表示された場合は、トラブルシューティングガイド を参照してください。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.JOIN(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

追加の必要なロール権限については、 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE を参照してください。


LEAVE

スキーマ:

COLLABORATION

参加したコラボレーションを終了します。コラボレーションを終了した後は、そのコラボレーションに再度参加することはできません。

**このプロシージャは2回呼び出す必要があります。**1回呼び出した後、GET_STATUS が返されるまで LOCAL_DROP_PENDING を呼び出し、その後、このプロシージャを再度呼び出します。

構文

LEAVE( <collaboration_name> )

引数

collaboration_name

終了するコラボレーションの名前。

戻り値

文字列の成功メッセージ。

-- Start the process.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LEAVE($collaboration_name);

-- Call until it returns LOCAL_DROP_PENDING.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_STATUS($collaboration_name);

-- Final call.
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.LEAVE($collaboration_name);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

追加の必要なロール権限については、 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE を参照してください。


GET_CONFIGURATION

スキーマ:

COLLABORATION

コラボレーションの現在の構成設定を返します。このプロシージャを呼び出す前にコラボレーションに参加している必要があります。

構文

GET_CONFIGURATION( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。

戻り値

以下の列を持つテーブル。

説明

CONFIGURATION

構成設定の名前。

VALUE

構成の現在の値。

STATUS

値が ACTIVE または ``PENDING``(変更がリクエストされていますが、まだ適用されていません)かどうか

サポートされている構成

構成名

説明

TEMPLATE_AUTO_APPROVAL

他のコラボレーターからのテンプレート更新リクエストを自動的に承認するかどうか。値:true または false。デフォルト: false

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.GET_CONFIGURATION(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


SET_CONFIGURATION

スキーマ:

COLLABORATION

コラボレーションの構成値を設定します。変更は非同期です。 GET_CONFIGURATION を呼び出して新しい値がいつ適用されたかを確認します。このプロシージャを呼び出す前にコラボレーションに参加している必要があります。

非推奨になった ENABLE_TEMPLATE_AUTO_APPROVAL および DISABLE_TEMPLATE_AUTO_APPROVAL プロシージャの代わりに、このプロシージャを使用してテンプレートの自動承認を管理します。TEMPLATE_AUTO_APPROVALtrue に設定すると自動承認を有効にし、 false に設定するとそれを無効にします。

構文

SET_CONFIGURATION( <collaboration_name>, <config_name>, <value> )

引数

collaboration_name

コラボレーションの名前。

config_name

構成セットの名前。サポートされている構成名については GET_CONFIGURATION をご参照ください。

value

構成の新しい値。指定された構成名の有効な値でなければなりません。

戻り値

リクエストが受け入れられたことを確認する文字列メッセージ。

-- Enable automatic approval of template requests
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.SET_CONFIGURATION(
  $collaboration_name,
  'TEMPLATE_AUTO_APPROVAL',
  'true'
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('MANAGE TEMPLATE AUTO APPROVAL', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('UPDATE', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

分析とアクティベーションの実行

RUN

スキーマ:

COLLABORATION

データクリーンルームで分析を実行します。実行の詳細は個々のパラメーターとして渡すか、分析 YAML 仕様文字列 で渡すことができます。

データクリーンルームでのテンプレート実行の背景情報については、consumer.run_analysis 参照をお読みください。

このプロシージャには2つのバージョンがあります。1つは実行引数を単一の YAML 形式の文字列として受け取るもので、もう1つは、引数を個々のパラメーターとして受け取るものです。

構文

YAML 引数構文:

RUN( <collaboration_name>, <analysis_spec> )

明示的なパラメーター構文:

RUN( <collaboration_name>, <template_id>, <template_view_names>, <local_template_view_names>, <arguments> )

引数

collaboration_name

この分析を実行するコラボレーションの名前。

analysis_spec

:ref:` 形式の文字列としての <label-dcr_collaboration_analysis_yaml>分析定義 `YAML。この分析で使用するテンプレート、テーブル、およびテンプレート値が記述されています。YAML 引数構文と一緒に使用されました。

template_id

実行するテンプレートの ID。

template_view_names

分析で使用するソーステーブルの文字列名の配列。VIEW_DATA_OFFERINGS が template_view_name 列で返すテーブル名を使用。各エントリの形式は user_alias.data_offering_id.dataset_alias

local_template_view_names

分析で使用する自分のテーブルの文字列 IDs の配列。最初に LINK_LOCAL_DATA_OFFERING を呼び出して、これらのテーブルをリンクする必要があります。

arguments

テンプレートが使用する名前付き引数を含む JSON オブジェクト。ここで、各キーはテンプレート引数名であり、値はその引数の値です。

戻り値

表形式の分析結果。

渡すパラメーターの例:

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.RUN(
  $collaboration_name,
  $template_name,
  ['Provider.data_offering_1_2026_01_12_v0.test_dataset'], -- Tables to pass to source_tables variable.
  [],
  {} -- Template takes no parameters.
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


VIEW_ACTIVATIONS

スキーマ:

COLLABORATION

自分がトリガーしてコラボレーターに送信した分析実行、またはコラボレーターがトリガーして自分に送信した分析実行のアクティベーションステータスを表示します。自分自身にデータを送信するアクティベーションリクエストはリストされません。

アクティベーションについて詳しくは、アクティベーションの実装 を参照してください。

構文

VIEW_ACTIVATIONS( <collaboration_name> )

引数

collaboration_name

コラボレーションの名前。

戻り値

各アクティベーションの詳細を含むテーブル。テーブルには、次の列が含まれています。

  • updated_on:ステータスが最後に更新された時刻。

  • segment_name:このアクティベーションを識別するために分析実行者によって割り当てられた任意の文字列。詳細については、 クエリ結果のアクティベーション をご参照ください。

  • batch_id:このアクティベーションリクエストのバッチ ID。詳細については、 プロバイダーとコンシューマーのアクティベーション結果を表示する をご参照ください。

  • template_id:このアクティベーションデータを作成するために使用されたテンプレート。

  • shared_by:分析を実行したコラボレーター。

  • shared_with:分析データを受け取るコラボレーター。

  • status:アクティベーションのステータス。次の値がサポートされています。

    • PENDING:アクティベーションがリクエストされましたが、処理待ちです。

    • REPLICATING:アクティベーションデータが宛先リージョンに複製されています。

    • SHARED:アクティベーションデータは処理する準備ができています。PROCESS_ACTIVATION を呼び出して、結果をアカウントに送信してください。

    • FAILED:アクティベーション処理に失敗しました。details 列の情報を確認してください。

    • PROCESSED:アクティベーション結果がアクティベーションリクエストで指定されたアカウントに送信されました。

  • details:失敗の詳細(アクティベーションが失敗した場合)。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.VIEW_ACTIVATIONS(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('VIEW ACTIVATIONS', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('RUN', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')


PROCESS_ACTIVATION

スキーマ:

COLLABORATION

分析実行者が他のコラボレーターのアカウントにデータを送信する場合、そのコラボレーターは PROCESS_ACTIVATION を呼び出してアクティベーションデータをアカウントにインポートする必要があります。コラボレーターは VIEW_ACTIVATIONS を呼び出して、指定されたセグメントのアクティベーションステータスが SHARED であることを出力が示すまで待ち、その後に PROCESS_ACTIVATION を呼び出す必要があります。

詳細については、 アクティベーションの実装 をご参照ください。

構文

PROCESS_ACTIVATION( <collaboration_name> [, <segment_name> | <array_of_batch_ids> ] )

引数

collaboration_name

コラボレーションの名前。

segment_name (オプション)

処理する特定のアクティベーションセグメントの文字列名。

batch_ids (オプション)

処理するアクティベーションのバッチIDsの文字列配列。この値はVIEW_ACTIVATIONSによって返されます。含まれていない場合、リクエストは呼び出し元のために指定されたコラボレーションですべての保留中のアクティベーションを処理します。

戻り値

ユーザーが結果を取得できるテーブル名と、結果のために指定されたセグメント名。結果の読み方について詳しくは、アクティベーションの実装 を参照してください。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.COLLABORATION.PROCESS_ACTIVATION(
  $collaboration_name
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('PROCESS ACTIVATION', 'COLLABORATION', 'collaboration name', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

レジストリ管理のプロシージャ

このセクションには、オブジェクトの登録に使用されるプロシージャが含まれています。詳細情報をご参照ください:

CREATE_REGISTRY

スキーマ:

REGISTRY

テンプレートやデータ提供などのリソースを管理するためのカスタムレジストリを作成します。カスタムレジストリは、レジストリの作成時に指定した単一の型のリソースを保存できます。

カスタムレジストリを使用して、デフォルトのローカルレジストリとは別に、関連リソースをグループ化できます。このレジストリにリソースを追加するには、オプションのレジストリ名パラメーターを使用します。

構文

CREATE_REGISTRY( '<registry_name>', <registry_type> )

引数

registry_name

作成するレジストリの名前。アカウント内のすべてのレジストリで一意の名前にする必要があります。

registry_type

このレジストリに含まれるリソースの型。サポートされている値: TEMPLATEDATA OFFERING

戻り値

文字列の成功メッセージ。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.CREATE_REGISTRY(
  'my_custom_registry',
  'TEMPLATE'
);

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合は、次のプロシージャを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')


VIEW_REGISTRIES

スキーマ:

REGISTRY

デフォルトのローカルレジストリやカスタムレジストリなど、アクセス可能なすべてのレジストリを一覧表示します。

構文

VIEW_REGISTRIES()

引数

なし。

戻り値

アクセスできる各レジストリの行を持つテーブル。

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.REGISTRY.VIEW_REGISTRIES();

アクセス要件

SAMOOHA_APP_ROLE ロールを使用していない場合、以下のプロシージャのいずれかを呼び出して権限を付与されたロールを使用する必要があります。

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('VIEW REGISTRIES', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('JOIN COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE COLLABORATION', 'role name')

  • GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE('CREATE REGISTRY', 'role name')

カスタムレジストリをVIEW_REGISTRIESに表示できるようにするには、次のプロシージャ呼び出しのいずれかによって付与される、READまたはREGISTER権限も必要です。

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('READ', 'REGISTRY', 'registry name', 'role name')

  • GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE('REGISTER', 'REGISTRY', 'registry name', 'role name')

アクセス管理のプロシージャ

SAMOOHA_APP_ROLE ロールは、すべてのデータクリーンルームコラボレーション API プロシージャへのアクセスを付与します。しかし、管理者が特定のロールによりきめ細かい権限を付与したい場合は、このセクションで説明する手順でロールを作成し、それに特定の権限を付与できます。コラボレーション API のアクセス管理の詳細はこちらをご参照ください。アクセス管理ドキュメント

次の手順を使用して、Snowflake Data Clean Room Collaboration API へのアクセスをきめ細かく管理できます。

GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE

スキーマ:

ADMIN

特定のオブジェクト上で特定のプロシージャを呼び出す権限を指定されたロールに付与します。

このプロシージャを複数回呼び出すことで、同じロールに複数の権限を付与できます。このプロシージャは、オブジェクトを所有するロールを使用して実行してください。

構文

GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
  '<privilege>',
  '<object_type>',
  '<object_name>',
  '<account_role_name>'
);

引数

'privilege'

このロールに付与する必要がある権限。どの権限がどのオブジェクトに対して利用可能かについては、以下のテーブルをご参照ください。

'object_type'

このロールに権限を付与するオブジェクトの型。サポートされている値:

  • COLLABORATION

  • REGISTRY

'object_name'

オブジェクトの仕様で指定された、オブジェクトの ID。

'account_role_name'

付与されるロール。

次の権限とオブジェクト型の組み合わせがサポートされています。

複合権限

次の複合権限は、一度に複数のプロシージャへのアクセスを許可します。

権限

オブジェクト型

有効化済みプロシージャ

READ

COLLABORATION

VIEW_COLLABORATIONS、 GET_STATUS、 GET_CONFIGURATION、 VIEW_CODE_SPECS、 VIEW_DATA_OFFERINGS、 VIEW_UPDATE_REQUESTS、 VIEW_TEMPLATES

RUN

COLLABORATION

RUN、VIEW_ACTIVATIONS、VIEW_COLLABORATIONS

UPDATE

COLLABORATION

LINK_LOCAL_DATA_OFFERING 、 UNLINK_LOCAL_DATA_OFFERING 、 ADD_TEMPLATE_REQUEST 、 REMOVE_TEMPLATE 、 APPROVE_UPDATE_REQUEST 、 REJECT_UPDATE_REQUEST 、 ENABLE_TEMPLATE_AUTO_APPROVAL 、 DISABLE_TEMPLATE_AUTO_APPROVAL 、 SET_CONFIGURATION 、 VIEW_UPDATE_REQUESTS

READ

REGISTRY

カスタムレジストリ に登録されているリソースを表示します。

REGISTER

REGISTRY

テンプレートやデータ提供などのリソースを カスタムレジストリ に表示または登録します。

きめ細かい権限

以下のきめ細かい権限は、特定のコラボレーションの個々のプロシージャへのアクセスを付与します。

権限

有効化済みプロシージャ

GET STATUS

GET_STATUS

VIEW DATA OFFERINGS

VIEW_DATA_OFFERINGS

VIEW TEMPLATES

VIEW_TEMPLATES

VIEW CODE SPECS

VIEW_CODE_SPECS

VIEW UPDATE REQUESTS

VIEW_UPDATE_REQUESTS

VIEW ACTIVATIONS

VIEW_ACTIVATIONS

ADD TEMPLATE REQUEST

ADD_TEMPLATE_REQUEST

REMOVE TEMPLATE

REMOVE_TEMPLATE

MANAGE UPDATE REQUEST

APPROVE_UPDATE_REQUEST、 REJECT_UPDATE_REQUEST

MANAGE TEMPLATE AUTO APPROVAL

ENABLE_TEMPLATE_AUTO_APPROVAL、 DISABLE_TEMPLATE_AUTO_APPROVAL、 GET_CONFIGURATION、 SET_CONFIGURATION

LINK LOCAL DATA OFFERINGS

LINK_LOCAL_DATA_OFFERING

UNLINK LOCAL DATA OFFERINGS

UNLINK_LOCAL_DATA_OFFERING

PROCESS ACTIVATION

PROCESS_ACTIVATION

戻り値

成功メッセージを含む MESSAGE 列を持つテーブル。

この例では、my_collaboration という名前のコラボレーションで分析を実行するためにアナリストが使用するロールを作成し、ユーザーに割り当てます。

USE ROLE role_that_created_this_collaboration;

CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE(
  'RUN',
  'COLLABORATION',
  $collaboration_name,
  'collaborator_analyst_role'
);
GRANT ROLE collaborator_analyst_role to USER alexander_hamilton;

アクセス要件

オブジェクトで GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE を呼び出すには、そのオブジェクトを作成したときと同じロールを使用する必要があります。

  • コラボレーションの場合、 CREATECOLLABORATION またはJOINCOLLABORATION を持つロールはどのコラボレーションでも GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE を呼び出すことができます。

  • レジストリの場合、 レジストリを作成したロールのみがそのレジストリに対する GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE を呼び出すことができます。


GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE

スキーマ:

ADMIN

ロールにアカウントレベルの権限を付与します。このプロシージャにより、そのロールを使用するすべてのユーザーが、その権限にリストされているプロシージャを呼び出せるようになります。

構文

GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE( '<privilege>', '<account_role_name>' );

引数

'privilege'

このロールに付与する権限。以下の文字列値がサポートされています。

  • JOIN COLLABORATION:COLLABORATION.JOIN および以下のプロシージャを参加済みコラボレーションで実行するための権限を付与します。

    • ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE

    • ADMIN.GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE

    • ADMIN.REVOKE_PRIVILEGE_ON_OBJECT_FROM_ROLE

    • COLLABORATION.ADD_TEMPLATE_REQUEST

    • COLLABORATION.APPROVE_UPDATE_REQUEST

    • COLLABORATION.ENABLE_TEMPLATE_AUTO_APPROVAL

    • COLLABORATION.DISABLE_TEMPLATE_AUTO_APPROVAL

    • COLLABORATION.REMOVE_TEMPLATE

    • COLLABORATION.GET_STATUS

    • COLLABORATION.LEAVE

    • COLLABORATION.LINK_DATA_OFFERING

    • COLLABORATION.LINK_LOCAL_DATA_OFFERING

    • COLLABORATION.PROCESS_ACTIVATION

    • COLLABORATION.REJECT_UPDATE_REQUEST

    • COLLABORATION.REVIEW

    • COLLABORATION.RUN

    • COLLABORATION.TEARDOWN

    • COLLABORATION.UNLINK_DATA_OFFERING

    • COLLABORATION.UNLINK_LOCAL_DATA_OFFERING

    • COLLABORATION.VIEW_ACTIVATIONS

    • COLLABORATION.VIEW_CODE_SPECS

    • COLLABORATION.VIEW_COLLABORATIONS

    • COLLABORATION.VIEW_DATA_OFFERINGS

    • COLLABORATION.VIEW_TEMPLATES

    • COLLABORATION.VIEW_UPDATE_REQUESTS

    • REGISTRY.VIEW_REGISTRIES

    • REGISTRY.VIEW_REGISTERED_CODE_SPECS

    • REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS

    • REGISTRY.VIEW_REGISTERED_TEMPLATES

    この権限では、次のアカウントレベル権限をロールに手動で付与する必要があります。

    • APPLY ROW ACCESS POLICY ON ACCOUNT

    • CREATE APPLICATION ON ACCOUNT

    • CREATE DATABASE ON ACCOUNT

    • CREATE LISTING ON ACCOUNT

    • CREATE SHARE ON ACCOUNT

    • IMPORT SHARE ON ACCOUNT

    • MANAGE SHARE TARGET ON ACCOUNT

  • CREATE COLLABORATION:COLLABORATION.INITIALIZE、そして JOIN COLLABORATION で許可されているすべてのプロシージャを、参加済みコラボレーションに対して実行するための権限を付与します。次のアカウントレベル権限を、ロールに手動で付与する必要があります。

    • APPLY ROW ACCESS POLICY

    • CREATE APPLICATION

    • CREATE DATABASE

    • CREATE に LISTING

    • CREATE SHARE

    • IMPORT SHARE

    • MANAGE SHARE TARGET

    • EXECUTETASK(INITIALIZEプロシージャで自動参加を使用する場合)

  • VIEW COLLABORATIONS:COLLABORATION.VIEW_COLLABORATIONS を実行するための権限を付与します。次の権限をロールに手動で付与する必要があります。

    • IMPORT SHARE ON ACCOUNT

  • REGISTER DATA OFFERING:REGISTRY.REGISTER_DATA_OFFERING を実行するための権限を付与します。アクティベーションを実装するコラボレーションに分析実行者が参加するためには、この権限が必須です。

  • VIEW REGISTERED DATA OFFERINGS:REGISTRY.VIEW_REGISTERED_DATA_OFFERINGS を実行するための権限を付与します。

  • REGISTER TEMPLATE:REGISTRY.REGISTER_TEMPLATE を実行するための権限を付与します。

  • VIEW REGISTERED TEMPLATES:REGISTRY.VIEW_REGISTERED_TEMPLATES を実行するための権限を付与します。

  • REGISTER CODE SPEC:REGISTRY.REGISTER_CODE_SPEC を実行するための権限を付与します。

  • VIEW REGISTERED CODE SPECS:REGISTRY.VIEW_REGISTERED_CODE_SPECS を実行するための権限を付与します。

  • CREATE REGISTRY:REGISTRY.CREATE_REGISTRY および REGISTRY.VIEW_REGISTRIES を実行するための権限、および作成したカスタムレジストリからの読み取り権限を付与します。

  • REVIEW COLLABORATION:COLLABORATION.REVIEW を実行するための権限を付与します。

  • VIEW REGISTRIES:REGISTRY.VIEW_REGISTRIES を実行するための権限を付与します。

  • VIEW DCR STATUS:アカウント内のデータクリーンルームの全体的なステータスを表示する権限を付与します。

'account_role_name'

アカウントレベルのロールの名前。

戻り値

成功メッセージを含む MESSAGE 列を持つテーブル。

USE ROLE ACCOUNTADMIN;
CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.ADMIN.GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE(
  'REGISTER DATA OFFERING',
  'COLLABORATOR_ANALYST_ROLE'
);

アクセス要件

このプロシージャを実行するには、 ACCOUNTADMIN ロール、または MANAGE GRANTS グローバル権限を持つロールが必要です。