アプリケーションパッケージを作成する¶
このトピックでは、 Snowflake Native App Framework でアプリケーションパッケージを作成および管理する方法について説明します。
アプリケーションパッケージについて¶
アプリケーションパッケージは、アプリケーションに必要なデータコンテンツ、アプリケーションロジック、メタデータ、セットアップスクリプトをカプセル化したコンテナーです。アプリケーションパッケージには、アプリケーション用に定義されたバージョンとパッチレベルに関する情報も含まれています。
アプリケーションパッケージを作成する¶
Snowflake Native App Framework は、 Snowsight を使用したアプリケーションパッケージの作成をサポートしています。代わりに、 SQL コマンドを実行するアプリケーションを作成することもできます。
アプリケーションパッケージの作成に必要な権限¶
アプリケーションパッケージを作成するには、使用するロールにグローバル権限(CREATE APPLICATION PACKAGE)が付与されている必要があります。
名前付きステージにマニフェストファイルとセットアップスクリプトをアップロードする¶
アプリケーションパッケージを作成する前に、マニフェストファイルとセットアップスクリプトを作成し、アカウントからアクセス可能な名前付きステージにアップロードする必要があります。
名前付きステージにファイルをアップロードするには、2つの方法があります。
Snowsight の使用。詳細については、 Snowsightを使用したファイルのステージング をご参照ください
PUT の使用。
Snowsightを使用してアプリケーションパッケージを作成する¶
Snowsight を使用してアプリケーションパッケージをインストールするには、次を実行します。
Snowsight にサインインします。
ナビゲーションメニューで Projects » App Packages を選択します。
Create » App Package を選択します。
アプリケーションパッケージの名前を入力します。
アプリケーションパッケージの対象コンシューマーを選択します。
Consumers outside of your organization を選択すると、アプリケーションパッケージを組織外で利用できるようになります。このオプションを選択すると、アプリケーションパッケージで定義されている各バージョンとパッチについて、 自動セキュリティスキャン が開始されます。
Consumers within your organization を選択して、組織内でアプリケーションパッケージを利用できるようにします。自動セキュリティスキャンは開始されません。
オプションで、アプリケーションパッケージのコメントを入力します。これらのコメントはコンシューマーには表示されません。
Create を選択します。
SQL コマンドを使用してアプリケーションパッケージを作成する¶
SQL を使用してアプリケーションパッケージを作成するには、次の例に示すように CREATE APPLICATION PACKAGE コマンドを使用します。
CREATE APPLICATION PACKAGE HelloSnowflakePackage;
アプリケーションパッケージを作成したら、 SHOW APPLICATION PACKAGES コマンドを使用して、利用可能なアプリケーションパッケージのリストを表示します。
アプリケーションパッケージに対する権限を付与する¶
必要なアプリケーションパッケージの開発に関連するタスクには、アプリケーションパッケージに特定の権限が設定されています。以下のテーブルでは、これらのタスクを実行するために必要な権限について説明します。
権限 |
タスク |
---|---|
ATTACH LISTING |
リストにアプリケーションパッケージを追加します。 |
DEVELOP |
アプリケーションパッケージから開発モードで APPLICATION オブジェクトを作成します。 |
INSTALL |
アプリケーションパッケージに基づいて APPLICATION オブジェクトを作成します。 |
MANAGE RELEASES |
リリースディレクティブを指定し、バージョンとパッチレベルを表示します。 |
MANAGE VERSIONS |
アプリケーションパッケージにバージョンとパッチレベルを追加します。 |
OWNERSHIP |
上記のすべての作業を実行します。 |
Snowsightを使用してアプリケーションパッケージに対する権限を付与する¶
Snowsight を使用してアプリケーションパッケージに対する権限を設定するには、次を実行します。
Snowsight にサインインします。
ナビゲーションメニューで Projects » App Packages を選択します。
アプリケーションパッケージを選択し、 Settings タブを選択します。
Privileges セクションで、付与する権限の横にある編集アイコンを選択します。
Add Role を選択し、権限を付与するロールを選択します。
Save を選択します。
権限の隣にロールが表示されます。
SQL コマンドを使用してアプリケーションパッケージに対する権限を設定する¶
SQL を使用してアプリケーションパッケージに対する権限をロールに付与するには、次の例に示すように、 GRANT <権限> コマンドを使用します。
GRANT MANAGE RELEASES ON APPLICATION PACKAGE HelloSnowflakePackage TO ROLE app_release_mgr;
このコマンドは、 app_release_mgr
ロールに MANAGE RELEASES 権限を付与します同じコマンドを使用して、アプリケーションパッケージに対して利用可能なその他の権限を付与することができます。
アプリケーションパッケージの所有権を譲渡する¶
アプリケーションパッケージを作成した後、アプリケーションパッケージの所有権を別のアカウントレベルのロールに譲渡することができます。
Snowsightを使用して所有権を譲渡する¶
Snowsight を使用してアプリケーションパッケージの所有権を譲渡するには、次を実行します。
Snowsight にサインインします。
ナビゲーションメニューで Projects » App Packages を選択します。
削除するアプリケーションパッケージの横にある ... を選択し、 Transfer Ownership を選択します。
Transfer to で、新しいアカウントレベルのロールを選択します。
Transfer を選択します。
SQL コマンドを使用して所有権を譲渡する¶
SQL を使用して、アプリケーションパッケージの所有権を別のアカウントレベルのロールに譲渡するには、次の例に示すように、 GRANT OWNERSHIP コマンドを使用します。
GRANT OWNERSHIP ON APPLICATION HelloSnowflakePackage TO ROLE native_app_dev;
アカウントからアプリケーションパッケージを削除する¶
アプリケーションパッケージに対する OWNERSHIP 権限を持つユーザーは、アカウントからそのアプリケーションパッケージを削除することができます。ただし、現在リストに関連付けられているアプリケーションパッケージを削除することはできません。
アプリケーションパッケージを削除すると、プロバイダーアカウント内で利用できなくなります。
注釈
リストと添付されたアプリケーションパッケージを削除した後、コンシューマーはアプリケーションパッケージから作成された Snowflake Native App を表示することはできますが、アクセスすることはできません。コンシューマーが Snowflake Native App にアクセスしようとすると、アプリケーションパッケージが削除されたことを示すエラーを受け取ります。
Snowsightを使用してアプリケーションパッケージを削除する¶
Snowsight を使用してアプリケーションパッケージを削除するには、次を実行します。
Snowsight にサインインします。
ナビゲーションメニューで Projects » App Packages を選択します。
削除するアプリケーションパッケージの横にある ... を選択し、 Drop を選択します。
SQL コマンドを使用してアプリケーションパッケージを削除する¶
SQL を使用してアプリケーションパッケージを削除するには、次の例に示すように、 DROP APPLICATION PACKAGE コマンドを実行します。
DROP APPLICATION PACKAGE HelloSnowflakePackage;