CREATE APPLICATION PACKAGE

Snowflake Native App のデータコンテンツとアプリケーションロジックを含む新しいアプリケーションパッケージを作成します。アプリケーションパッケージには、アプリケーションに関する以下の情報がコンテナーとして含まれています。

  • アプリのバージョンとパッチ番号。

  • アプリケーションで利用可能なデータコンテンツ。

  • アプリのセットアップスクリプト。

  • アプリのマニフェストファイル。

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

ALTER APPLICATION PACKAGEDROP APPLICATION PACKAGESHOW APPLICATION PACKAGES

構文

CREATE APPLICATION PACKAGE [ IF NOT EXISTS ] <name>
  [ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
  [ MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer> ]
  [ DEFAULT_DDL_COLLATION = '<collation_specification>' ]
  [ COMMENT = '<string_literal>' ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
  [ DISTRIBUTION = { INTERNAL | EXTERNAL } ]
  [ MULTIPLE_INSTANCES = TRUE ]
  [ ENABLE_RELEASE_CHANNELS = TRUE ]
Copy

必須パラメーター

name

アプリケーションパッケージの識別子を指定します。アカウントに対して一意である必要があります。

また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれている場合を除き、スペースや特殊文字を含めることはできません(例: "My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

オプションのパラメーター

DATA_RETENTION_TIME_IN_DAYS = integer

アプリケーションパッケージでTime Travelアクション(CLONE および UNDROP)を実行できる日数を指定し、さらにデータベースで作成されたスキーマすべてのデフォルトのTime Travel保持時間を指定します。

詳細については、 Time Travelの理解と使用 をご参照ください。

このオブジェクトレベルパラメーターの詳細な説明、およびオブジェクトパラメーターの詳細については、 パラメーター をご参照ください。

値:

  • Standard Edition: 0 または 1

  • Enterprise Edition:

    • 永続データベースの場合は 090

デフォルト:

  • Standard Edition: 1

  • Enterprise Edition(またはそれ以上): 1 (アカウントレベルで別のデフォルト値が指定されていない場合)

注釈

0 の値は、データベースのTime Travelを無効にします。

MAX_DATA_EXTENSION_TIME_IN_DAYS = integer

Snowflakeがアプリケーションパッケージ内のテーブルのデータ保持期間を延長して、テーブル上のストリームが古くなるのを防ぐことができる最大日数を指定するオブジェクトパラメーター。

このパラメーターの詳細な説明については、 MAX_DATA_EXTENSION_TIME_IN_DAYS をご参照ください。

DEFAULT_DDL_COLLATION = 'collation_specification'

アプリケーションパッケージに追加されたすべてのスキーマとテーブルのデフォルトの 照合仕様 を指定します。デフォルトは、スキーマおよび個々のテーブルレベルで上書きできます。

パラメーターの詳細については、 DEFAULT_DDL_COLLATION をご参照ください。

COMMENT = 'string_literal'

アプリケーションパッケージのコメントを指定します。

デフォルト: 値なし

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

タグ の名前とタグ文字列の値を指定します。

タグ値は常に文字列であり、タグ値の最大文字数は256です。

ステートメントでのタグの指定に関する情報については、 オブジェクトのタグクォータ をご参照ください。

DISTRIBUTION = { INTERNAL | EXTERNAL }

リストのデータ製品としてアプリケーションパッケージを使用する場合に、プロバイダーが作成できるリストのタイプを指定します。

  • INTERNAL は、プロバイダーが、アプリケーション・パッケージが作成されたのと同じ組織内でのみプライベート・リストを作成できることを示します。DISTRIBUTION プロパティが INTERNAL に設定されている場合、自動セキュリティスキャンは実行されません。

  • EXTERNAL は、プロバイダーが、アプリケーションパッケージが作成されたのと同じ組織の外部でリストを作成できることを示します。

DISTRIBUTION プロパティと自動セキュリティスキャンの設定に関する情報については、 自動セキュリティスキャンを実行する をご参照ください。

注釈

DISTRIBUTION パラメーターを EXTERNAL に設定すると、アプリケーションパッケージで定義されている各アクティブバージョンとパッチの自動セキュリティレビューがトリガーされます。

自動セキュリティ確認のステータスが APPROVED になるまで、以下の制限が適用されます。

  • バージョンやパッチにリリースディレクティブを設定することはできません。

  • アプリケーションパッケージのリストは公開できません。

MULTIPLE_INSTANCES = TRUE

コンシューマーがアプリケーションパッケージからアプリケーションの複数のインスタンスをインストールできるようにします。このプロパティは、トライアルまたは有料リストに含まれるアプリケーションパッケージには設定できません。

複数のインスタンスが許可されている場合、コンシューマーはアカウントに最大10インスタンスのアプリをインストールできます。

注意

このプロパティをtrueに設定した後は、 FALSE に設定したり、後で設定を解除したりすることができません。

ENABLE_RELEASE_CHANNELS = TRUE

アプリケーションパッケージの リリースチャンネル を有効にします。

注意

このプロパティを TRUE に設定した後、 FALSE に設定したり、後で設定を解除したりすることはできません。

アクセス制御の要件

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

権限

オブジェクト

注意

CREATE APPLICATION PACKAGE

アカウント

ACCOUNTADMIN ロールのみが、デフォルトでこの権限を持っています。権限は、必要に応じて他のロールに付与できます。

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

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

使用上の注意

  • アプリケーションパッケージを作成するには、アカウントに対する CREATE APPLICATION PACKAGE 権限が必要です。

  • アプリケーションパッケージに存在するオブジェクトの型や、それらのオブジェクトを所有するロール(データベースまたはアカウントレベル)には制限はありません。

  • メタデータについて:

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

  • CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。

CREATE APPLICATION PACKAGE hello_snowflake_package;
Copy
+-----------------------------------------------------------------------+
| status                                                                |
|-----------------------------------------------------------------------|
| Application Package 'hello_snowflake_package' created successfully.   |
+-----------------------------------------------------------------------+