CREATE LISTING¶
インライン YAML マニフェスト、またはステージの場所にあるファイルから、特定のコンシューマーと直接共有するリストを無料で作成できます。
- こちらもご参照ください。
ALTER LISTING、 DESCRIBE LISTING、 SHOW LISTINGS、 SHOW VERSIONS IN LISTING、 DROP LISTING、 リストマニフェスト参照
構文¶
CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
[ { SHARE <share_name> | APPLICATION PACKAGE <package_name> } ]
AS '<yaml_manifest_string>'
[ PUBLISH = { TRUE | FALSE } ]
[ REVIEW = { TRUE | FALSE } ]
[ COMMENT = '<string>' ]
CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
[ { SHARE <share_name> | APPLICATION PACKAGE <package_name> } ]
FROM '<yaml_manifest_stage_location>'
[ PUBLISH = { TRUE | FALSE } ]
[ REVIEW = { TRUE | FALSE } ]
パラメーター¶
nameリスト識別子(名前)を指定します。以下に準拠する必要があります。
アカウントはどのSnowflake Regionにあるかに関係なく、組織内で一意である必要があります。
アルファベット文字で始まる必要があり、スペースやアンダースコア(
_) 以外の 特殊文字を含めることはできません。
SHARE share_nameリストにアタッチする共有の識別子を指定します。
APPLICATION PACKAGE package_nameリストにアタッチされているアプリケーションパッケージを指定します。
SHOW APPLICATION PACKAGES もご参照ください。
AS 'yaml_manifest_string'リストの YAML マニフェストを指定します。マニフェストのパラメーターについては、 リストマニフェスト参照 をご参照ください。
マニフェストは通常、ドル引用符で囲まれた文字列として提供されます。詳細については、 ドル記号付き文字列定数 をご参照ください。
FROM 'yaml_manifest_stage_location'内部ステージまたはGitリポジトリクローンmanifest.ymlファイルのパスを指定します。
PUBLISH = { TRUE | FALSE }リストの公開方法を指定します。
TRUE の場合、リストはMarketplace Opsへのリストにレビューのためにすぐに公開されます。
デフォルト: TRUE。
REVIEW = { TRUE | FALSE }リストがMarketplace Opsのレビューに提出されるべきかどうかを指定します。
デフォルト: TRUE。
PUBLISH、REVIEW プロパティの値の組み合わせが異なると、以下のような動が引き起こされます。
PUBLISH |
REVIEW |
動作 |
|---|---|---|
TRUE |
TRUE |
レビューをリクエストし、承認されたらすぐに公開します。 |
TRUE |
FALSE |
エラーが発生します。レビューなしで Snowflake Marketplace にリストを公開できません。 |
FALSE |
TRUE |
レビュー後、自動的に公開されることなくレビューをリクエストできます。 |
FALSE |
FALSE |
レビューや公開をリクエストせずに、リストをドラフトとして保存します。 |
COMMENT = 'string_literal'リストへのコメント。
デフォルト: 値なし
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
注意 |
|---|---|---|
CREATE LISTING |
アカウント |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
クロスクラウド自動複製を構成するために委任された権限。 |
ALTER コマンドが自動フルフィルメントのためにマニフェストコンテンツを変更している場合。 |
リストの自動複製 をご参照ください。 |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
CREATE LISTING ... を使用して作成されたリストは、自動的に公開されます。非公開と公開の操作に関する情報は、 ALTER LISTING をご参照ください。
例¶
特定の YAML 形式マニフェストを持つ 'MYLISTING' という名前のリストを作成し、レビューとその後の公開のために提出します。
SQL を使用したリスト管理に関連するその他の例と使用例については、 SQL をプロバイダーとしてリスティングを管理する - 例 をご参照ください。
注釈
この例では、PUBLISH と REVIEW にデフォルト値を使用しています。
CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description for MyListing"
listing_terms:
type: "STANDARD"
targets:
accounts: ["Org1.Account1"]
usage_examples:
- title: "this is a test sql"
description: "Simple example"
query: "select *"
$$
;
特定の YAML 形式マニフェストを持つ'MYLISTING'という名前のドラフトリストを作成します。
CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description for MyListing"
listing_terms:
type: "OFFLINE"
targets:
regions: ["PUBLIC.AWS_US_EAST_1", "PUBLIC.AZURE_WESTUS2"]
usage_examples:
- title: "this is a test sql"
description: "Simple example"
query: "select *"
$$ PUBLISH=FALSE REVIEW=FALSE;
'MYLISTING' という名前のドラフトリストを特定のステージの場所から作成します。以下の例では、 manifest.yml ファイルは listingstage という名前のステージにある listingmanifests フォルダーにあります。
CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE FROM @dbforstage.public.listingstage/listingmanifests;