CREATE ORGANIZATION LISTING

組織内でデータ製品を安全に共有するための組織リストを作成します。

構文

CREATE ORGANIZATION LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  AS '<yaml_manifest_string>'
  [ PUBLISH = { TRUE | FALSE } ]

CREATE ORGANIZATION LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  FROM '<yaml_manifest_stage_location>'
  [ PUBLISH = { TRUE | FALSE } ]
Copy

パラメーター

name

リストの識別子(名前)を指定します。以下に準拠する必要があります。

  • アカウントがどのSnowflake Regionにあるかに関わらず、アカウント内で一意である必要があります。Uniform Listing Locator (ULL) は、組織内で一意でなければなりません。

  • ドル記号を埋め込むことはできません。

  • Snowflakeの識別子要件に適合していること。識別子の要件 をご参照ください。

FROM 'yaml_manifest_stage_location'

内部ステージまたはGitリポジトリクローンmanifest.ymlファイルのパスを指定します。

SHARE share_name

リストにアタッチする共有の識別子を指定します。

APPLICATION PACKAGE package_name

リストにアタッチされているアプリケーションパッケージを指定します。

SHOW APPLICATION PACKAGES もご参照ください。

AS 'yaml_manifest_string'

組織プロファイルの YAML マニフェスト。マニフェストフィールドの詳細と例については、組織リストのマニフェストリファレンス をご参照ください。

マニフェストは通常、ドル引用符で囲まれた文字列として提供されます。詳細については、 ドル記号付き文字列定数 をご参照ください。

PUBLISH = { TRUE | FALSE }

リストの公開方法を指定します。

TRUE の場合、リストは即座に社内マーケットプレイスに公開されます。

デフォルト: TRUE。

アクセス制御の要件

この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

注意

CREATE ORGANIZATION LISTING または CREATE LISTING

アカウント

組織リストの作成と変更をします。

この SQL コマンドの実行に使用される ロール には、 最低 1 つ の次の 権限 が必要です。

権限

オブジェクト

注意

CREATE ORGANIZATION LISTING

ACCOUNT

指定したシェアまたは指定した Snowflake Native App Framework をリストに添付します。Snowflake Native App Framework を指定する場合は、 OWNERSHIP または ATTACH LISTING も必要です。

IMPORT ORGANIZATION LISTING

ACCOUNT

リストをマウントする、または組織のリストを参照するために統一リストロケーター(ULL)を使用するクエリを実行します。

使用上の注意

  • CREATE ORGANIZATION LISTING... を使用して作成されたリストは、自動的に公開されます。

この例では、マニフェスト YAML で指定されたセットを使用して、 MYORGLISTING という名前のリストを作成します。1リージョンの1アカウントの1ロールをターゲットとし、サポートと承認者の連絡先を含みます。

注釈

support_contact は必須です。discovery ターゲットがプロバイダーの場合、 approver_contact は必須です。

USE ROLE <organization_listing_role>;

CREATE ORGANIZATION LISTING MYORGLISTING
SHARE <share_name> AS
$$
title: "My title"
description: "One region, all accounts"
organization_profile: "INTERNAL"
organization_targets:
  discovery:
    - account: "<account_name>"
      roles:
        - "<role>"
  access:
    - account: "<account_name>"
      roles:
        - "<role>"
support_contact: "support@somedomain.com"
approver_contact: "approver@somedomain.com"
locations:
   access_regions:
   - name: "PUBLIC.<snowflake_region>"
$$
Copy

'MYLISTING' という名前のドラフトリストを特定のステージの場所から作成します。以下の例では、 manifest.yml ファイルは listingstage という名前のステージにある listingmanifests フォルダーにあります。

CREATE ORGANIZATION LISTING MYLISTING
SHARE MySHARE FROM @dbforstage.public.listingstage/listingmanifests;
Copy