ALTER LISTING

インライン YAML マニフェスト、またはステージの場所にあるファイルからの リスト のプロパティを変更します。

こちらもご参照ください。

CREATE LISTINGDESCRIBE LISTINGSHOW LISTINGSSHOW VERSIONS IN LISTINGDROP LISTING

構文

ALTER LISTING [ IF EXISTS ] <name> [ { PUBLISH | UNPUBLISH | REVIEW } ]

ALTER LISTING [ IF EXISTS ] <name> AS '<yaml_manifest_string>'
  [ PUBLISH = { TRUE | FALSE } ]
  [ REVIEW = { TRUE | FALSE } ]
  [ COMMENT = '<string>' ]

ALTER LISTING <name> ADD VERSION [ [ IF NOT EXISTS ] <version_name> ]
  FROM <yaml_manifest_stage_location>
  [ COMMENT = '<string>' ]

ALTER LISTING [ IF EXISTS ] <name> { ADD | REMOVE } TARGETS <manifest>

ALTER LISTING [ IF EXISTS ] <name> RENAME TO <new_name>;

ALTER LISTING [ IF EXISTS ] <name> SET COMMENT = '<string>'
Copy

パラメーター

name

変更されるリストの識別子(名前)を指定します。

{ PUBLISH | UNPUBLISH | REVIEW }

リストに対して実行するアクション:

  • PUBLISH 以前は発見不可能だったリストを発見可能にします。

    以前に公開されたリストに PUBLISH を指定しても効果はありません。

  • UNPUBLISH 以前は発見可能だったリストが、新しいコンシューマーには発見不可能になります。既存のコンシューマーは、未公開リストに関連するデータに引き続きアクセスすることができます。

    以前に公開されていないリストに UNPUBLISH を指定しても効果はありません。

リストの公開解除 もご参照ください。

  • REVIEW はレビューのためにリストを提出します。

yaml_manifest_string

リストの YAML マニフェスト。マニフェストのパラメーターについては、 リストマニフェスト参照 をご参照ください。

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

ADD VERSION version_name

追加するバージョンの一意なバージョン識別子を指定します。識別子にスペース、特殊文字、または大文字と小文字が混在する場合は、識別子全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。識別子の構文については、 識別子の要件 をご参照ください。

FROM 'yaml_manifest_stage_location'

内部またはSnowflake Gitリポジトリクローン manifest.ymlファイルのパスを指定します。変更にMarketplace Opsのレビューが必要な場合は、 REVIEW と PUBLISH の操作を使用してください。

{ ADD | REMOVE } TARGETS manifest

追加または削除するターゲット*のみ*を含むマニフェストを使用して、リストにターゲットを追加またはリストからターゲットを削除します。この部分的なマニフェストは使い慣れた構造の`targets`、external_targets`organization_targets`を再利用します。これらはリストマニフェスト仕様ですでに定義されているものです。

以下のテーブルは、サポートされていないリストマニフェスト/受信マニフェストの組み合わせを示しています。

注釈

V2リストはまだプレビュー段階です。機能が有効になると、公開または非公開にかかわらず、後続のすべてのリストがv2リストとして作成されます。

外部リストターゲットバージョン

受信マニフェスト

結果

回避策

V1ターゲット

V2外部ターゲット

エラーを返します。

バージョン1の受信マニフェストを提供します。

V2ターゲット

V1ターゲット

エラーを返します。

バージョン2の受信マニフェストを提供します。

任意の外部リスト

アカウントのない組織を指定する組織レベルのターゲット。

エラーを返します。

現時点では、組織レベルのターゲットはサポートされていません。

組織リストの場合、以下の表は、ターゲットの追加と削除をサポートしない使用例を示しています。

外部リスト

受信マニフェスト

追加または削除

結果

アクション

任意の組織リスト

マニフェストには `organization_user_group`フィールドが設定されています。

両方

エラーを返します。

`organization_user_group`フィールドを削除して再試行してください。

アカウントまたはアカウントとロール

マニフェストには `all_internal_accounts`フィールドが`TRUE`に設定されています。

削除

エラーを返します。

特定のアカウントを削除して、再試行してください。

リストには all_internal_accounts フィールドが`TRUE`に設定されています。

受信マニフェストには、アカウントまたはアカウントとロールが含まれています。

削除

エラーを返します。

all_internal_accounts を特定のアカウントに置き換え、再試行してください。

アカウントにはロールが指定されていません

受信マニフェストには、ロールを持つアカウントがあります。

削除

エラーを返します。

最初にアカウントを削除してから、特定のロールを追加します。

RENAME TO new_name

リスト名を new_name に変更します。リスト名は一意でなければなりません。新しい識別子が既に別のリストで使用されている場合は、その識別子を使用することはできません。

SET ...

リストに設定する1つ(または複数)のプロパティを指定します(空白、コンマ、または改行で区切り)。

COMMENT = 'string_literal'

コメントを追加するか、既存のリストの既存のコメントを上書きします。

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

レビューや公開をリクエストせずに、リストをドラフトとして保存します。

使用上の注意

  • リスト名の変更は DRAFT の状態でのみ可能です。

  • YAML 形式マニフェストのライブバージョンをリストにセットする場合、 COMMIT を使用して変更を適用するか、 ABORT を使用して変更を破棄する必要があります。

アクセス制御の要件

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

権限

オブジェクト

注意

OWNERSHIP または MODIFY

変更されたリストに対して。

ALTER コマンドを使用して自動履行のマニフェスト内容を変更する場合は、クロス クラウド自動履行の構成に必要な権限委譲を受けたロールを使用する必要があります。権限委譲による自動フルフィルメントのセットアップ をご参照ください。

スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

更新されたマニフェスト・ファイルを使用するようにリスト mylisting を変更します。

ALTER LISTING mylisting
AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description or MyListing"
listing_terms:
  type: "STANDARD"
targets:
  accounts: ["Org1.Account1"]
usage_examples:
  - title: "this is a test sql"
    description: "Simple example"
    query: "select *"
$$;
Copy

mylisting リストを送信して確認します。

ALTER LISTING mylisting REVIEW;
Copy

リストを公開することで mylisting リストを変更します。

ALTER LISTING mylisting PUBLISH;
Copy

リストの公開を解除することで、mylisting リストを変更します。

ALTER LISTING mylisting UNPUBLISH;
Copy

新しいコメントを設定することで、mylisting リストを変更します。

ALTER LISTING mylisting SET COMMENT = 'My listing is ready!';
Copy

指定された YAML マニフェストファイルのステージの場所から新しいバージョンを追加します。

ALTER LISTING mylisting ADD VERSION V3 FROM @dbforstage.public.listingstage/listingmanifests;
Copy

リストを変更してターゲットが受信マニフェストを受け取り、それを既存のリストターゲットとマージするようにします。

ALTER LISTING mylisting ADD TARGETS $$manifest$$;
Copy

外部 V1リストにターゲットを追加します。

ALTER LISTING mylisting ADD TARGETS
$$
targets:
  accounts: ["Org1.Account1", "Org2.Account2"]
$$;
Copy

外部V2リストにターゲットを追加します。

ALTER LISTING mylisting ADD TARGETS
$$
external_targets:
  access:
    - organization: OrgName2
      accounts: [acc1, acc2]
$$;
Copy

ターゲットを追加すると、受信マニフェストが受け取れ、既存の ``organization_targets``とマージできます。

ALTER LISTING mylisting ADD TARGETS
$$
organization_targets:
  access:
    - account: account2
      roles: [role1, role2]
$$;
Copy

ターゲットを削除します。

ALTER LISTING mylisting REMOVE TARGETS $$manifest$$;
Copy

外部V1リストからターゲットを削除します。

ALTER LISTING mylisting REMOVE TARGETS
$$
targets:
  accounts: ["Org1.Account1", "Org2.Account2"]
$$;
Copy

外部V2リストからターゲットを削除します。

ALTER LISTING mylisting REMOVE TARGETS
$$
external_targets:
  access:
    - organization: OrgName2
      accounts: [acc1, acc2]
$$;
Copy

組織リストからターゲットを削除します。

ALTER LISTING mylisting REMOVE TARGETS
$$
organization_targets:
  access:
    - account: account1
$$;
Copy