CREATE APPLICATION¶
Native Apps Frameworkを使用し、アプリケーションパッケージまたはリストに基づいて新しいアプリケーションを作成します。
- こちらもご参照ください。
ALTER APPLICATION、 DESCRIBE APPLICATION、 DROP APPLICATION、 SHOW APPLICATIONS
構文¶
CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
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>' [, ...] ) ]
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>' [ , ... ] ) ]
CREATE APPLICATION <name> FROM LISTING <listing_name>
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
必須パラメーター¶
name
アプリケーションの識別子を指定します。アカウントに対して一意である必要があります。
また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
FROM APPLICATION PACKAGE package_name
アプリケーションの作成に使用するアプリケーションパッケージの名前を指定します。ステージやバージョン/パッチを指定せずにアプリケーションパッケージからアプリケーションを作成するためにこの句を使用するには、アプリケーションパッケージにデフォルトのリリースディレクティブが定義されている必要があります。
この句は、アプリケーションパッケージと同じアカウントでアプリケーションを作成する場合にのみ使用できます。この句は、開発モードでアプリケーションを作成する場合には使用できません。
FROM LISTING listing_name
アプリケーションの作成に使用されたアプリケーションパッケージを含むリストの名前を指定します。
USING path_to_version_directory
アプリケーション用のアプリケーションファイルが含まれるステージへのパスを指定します。
USING version [ PATCH patch_num ]
アプリケーションの作成に使用したアプリケーションパッケージで定義されているバージョンと、オプションでパッチを指定します。
オプションのパラメーター¶
COMMENT = 'string_literal'
アプリケーションのコメントを指定します。
デフォルト: 値なし
DEBUG_MODE = { TRUE | FALSE }
インストールするアプリケーションのデバッグモードを有効または無効にします。
TRUE
は、インストールされたアプリケーションのデバッグモードを有効にします。FAlSE
は、インストールされたアプリケーションのデバッグモードを無効にします。
注釈
DEBUG_MODE
を設定できるのは、アプリケーションが以下の条件を満たしている場合のみです。アプリケーションがアプリケーションパッケージと同じアカウントにある。
アプリケーションは特定のバージョンから、あるいは名前付きステージにあるファイルから作成される。
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
タグ の名前とタグ文字列の値を指定します。
タグ値は常に文字列であり、タグ値の最大文字数は256です。
ステートメントにあるタグの指定の詳細については、 オブジェクトおよび列のタグクォータ をご参照ください。
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE APPLICATION |
アカウント |
|
DEVELOP |
アプリケーションパッケージ |
|
INSTALL |
アプリケーションパッケージ |
|
IMPORT SHARE CREATE APPLICATION |
アカウント |
これらの権限は、アプリケーションパッケージを含むアカウントとは異なるアカウントでアプリケーションオブジェクトを作成するために必要です。 |
使用上の注意¶
アプリケーションパッケージから直接アプリケーションを作成するには、アプリケーションパッケージでデフォルトのリリースディレクティブを指定する必要があります。
アプリケーションオブジェクトはデータベースと以下の点で異なります。
アプリケーションは一時的であってはならない。
タグに対する OWNERSHIP 権限を持つロールは、
データベースをドロップしたり、 COMMENT プロパティやアプリケーション固有のプロパティを変更したりすることができる。
アプリケーションロールに付与された権限を介する場合を除き、アプリケーションのコンテンツを表示したり変更したりすることはできない。また、このロールはスキーマやデータベースロールのようなデータベースレベルのオブジェクトを作成することはできない。
Regarding metadata:
注意
Customers should ensure that no personal data (other than for a User object), sensitive data, export-controlled data, or other regulated data is entered as metadata when using the Snowflake service. For more information, see Snowflakeのメタデータフィールド.
CREATE OR REPLACE <object> statements are atomic. That is, when an object is replaced, the old object is deleted and the new object is created in a single transaction.
例¶
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. |
+---------------------------------------------------------+