CREATE APPLICATION¶
アプリケーションパッケージまたはリストに基づき、 Snowflake Native App を作成します。プロバイダーはこのコマンドを使って、開発アカウントにアプリをインストールします。
When this command runs, it runs the setup script to create the app.
- こちらもご参照ください。
ALTER APPLICATION、 DESCRIBE APPLICATION、 DROP APPLICATION、 SHOW APPLICATIONS
構文¶
CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
[ USING RELEASE CHANNEL { QA | ALPHA | DEFAULT } ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
[ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
[ WITH FEATURE POLICY = <policy_name> ]
CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
USING <path_to_version_directory>
[ DEBUG_MODE = { TRUE | FALSE } ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [, ...] ) ]
[ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
[ WITH FEATURE POLICY = <policy_name> ]
CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
USING VERSION <version_identifier> [ PATCH <patch_num> ]
[ DEBUG_MODE = { TRUE | FALSE } ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
[ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
[ WITH FEATURE POLICY = <policy_name> ]
CREATE APPLICATION <name> FROM LISTING <listing_name>
[ USING RELEASE CHANNEL { QA | ALPHA | DEFAULT } ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
[ BACKGROUND_INSTALL = { TRUE | FALSE } ]
[ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
[ WITH FEATURE POLICY = <policy_name> ]
必須パラメーター¶
nameSpecifies the identifier for the app. Must be unique for your account.
また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
FROM APPLICATION PACKAGE package_nameSpecifies the name of the application package used to create the app. To use this clause to create an app from an application package without specifying a stage or a version/patch, the application package must have a default release directive defined.
This clause can only be used to create an app in the same account as the application package. This clause cannot be used to create an app in development mode.
FROM LISTING listing_nameSpecifies the name of the listing that contains the application package used to create the app.
USING RELEASE CHANNEL QA | ALPHA | DEFAULTアプリの作成に使用されたアプリケーションパッケージまたはリストで定義されたリリースチャネルを指定します。この句を指定しない場合、デフォルトのリリースチャネルが使用されます。
QAは品質保証リリースチャネルを指定します。ALPHAはアルファリリースチャネルを指定します。DEFAULTはデフォルトのリリースチャネルを指定します。
This clause can be used only when creating an app from an application package that has a release directive defined or when creating an app from a listing.
USING path_to_version_directorySpecifies the path to the stage that contains the files required by the app.
USING version [ PATCH patch_num ]Specifies the version, and optionally the patch, defined in the application package used to create the app.
オプションのパラメーター¶
COMMENT = 'string_literal'Specifies a comment for the app.
デフォルト: 値なし
DEBUG_MODE = { TRUE | FALSE }Enables or disables debug mode for the app being created. Debug mode allows a provider to see the contents of the app.
TRUEenables debug mode for the installed app.FAlSEdisables debug mode for the installed app.
注釈
You can only enable debug mode under the following conditions:
The app is in the same account as the application package.
The app is being created based on a specific version or from files on a named stage.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )タグ の名前とタグ文字列の値を指定します。
タグ値は常に文字列であり、タグ値の最大文字数は256です。
ステートメントでのタグの指定に関する情報については、 Tag quotas をご参照ください。
BACKGROUND_INSTALL = { TRUE | FALSE }Creates the app from a listing in the background. If you specify this clause, the command returns you to the prompt immediately, and the installation process continues in the background. To monitor that status of the installation, use the DESCRIBE APPLICATION command.
注釈
When this clause is used, the app is created even if the command fails. In this situation, use the DROP APPLICATION command to delete the object before running the CREATE APPLICATION command again.
この句は主に、バックグラウンドで Snowflake Native App をインストールするために Snowsight によって使用されます。バックグラウンドインストールでは、コンシューマーはインストール中に Snowsight にあるリストから移動することができます。プロバイダーは、リストを公開する前にリスティングから Snowflake Native App のインストールをテストする場合にこの句を使用する可能性があります。
AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE }アプリで ログとイベント共有 を有効にします。
WITH FEATURE POLICY = policy_name指定した機能ポリシーでアプリを作成します。アプリが機能ポリシーで禁止されているオブジェクト(データベースなど)を作成しようとすると、コマンドは失敗します。
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
注意 |
|---|---|---|
CREATE APPLICATION |
アカウント |
|
DEVELOP |
アプリケーションパッケージ |
|
INSTALL |
アプリケーションパッケージ |
|
IMPORT SHARE CREATE APPLICATION |
アカウント |
これらの権限は、アプリケーションパッケージを含むアカウントとは異なるアカウントでアプリケーションを作成するために必要です。 |
APPLY FEATURE POLICY APPLY または OWNERSHIP |
アカウント 機能ポリシー |
これらの権限は、 WITH FEATURE POLICY 句を使用してアプリを作成するときに機能ポリシーを適用するために必要です。 |
使用上の注意¶
To create an app directly from an application package, you must specify a default release directive in the application package.
The app differs from a database in the following ways:
An app may not be transient.
The role with the OWNERSHIP privilege on the app has the following abilities and limitations:
Can drop the database or modify the COMMENT property and any properties that are specific to the app.
Cannot see or modify the contents of the app except via the privileges granted the application roles.
スキーマやデータベースロールのようなデータベースレベルのオブジェクトを作成することはできない。
メタデータについて:
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
例¶
CREATE APPLICATION hello_snowflake_app
FROM APPLICATION PACKAGE hello_snowflake_package
USING VERSION v1;
+---------------------------------------------------------+
| status |
|---------------------------------------------------------|
| Application 'hello_snowflake_app' created successfully. |
+---------------------------------------------------------+
CREATE APPLICATION hello_snowflake_app
FROM APPLICATION PACKAGE hello_snowflake_package
USING '@hello_snowflake_code.core.hello_snowflake_stage';
+---------------------------------------------------------+
| status |
|---------------------------------------------------------|
| Application 'hello_snowflake_app' created successfully. |
+---------------------------------------------------------+