アプリケーションパッケージの作成

このトピックでは、 Snowflake Native App Framework でアプリケーションパッケージを作成および管理する方法について説明します。

アプリケーションパッケージについて

アプリケーションパッケージは、アプリケーションに必要なデータコンテンツ、アプリケーションロジック、メタデータ、セットアップスクリプトをカプセル化したコンテナーです。アプリケーションパッケージには、アプリケーション用に定義されたバージョンとパッチレベルに関する情報も含まれています。

アプリケーションパッケージの作成

Snowflake Native App Framework は、 Snowsight を使用したアプリケーションパッケージの作成をサポートしています。代わりに、 SQL コマンドを実行するアプリケーションを作成することもできます。

アプリケーションパッケージの作成に必要な権限

アプリケーションパッケージを作成するには、使用するロールにグローバル権限(CREATE APPLICATION PACKAGE)が付与されている必要があります。

マニフェストファイルとセットアップスクリプトの名前付きステージへのアップロード

アプリケーションパッケージを作成する前に、マニフェストファイルとセットアップスクリプトを作成し、アカウントからアクセス可能な名前付きステージにアップロードする必要があります。

名前付きステージにファイルをアップロードするには、2つの方法があります。

Snowsightを使用したアプリケーションパッケージの作成

Snowsight を使用してアプリケーションパッケージをインストールするには、次を実行します。

  1. Snowsight にサインインします。

  2. 左側のナビゲーションバーで、 Apps を選択してから、 Packages を選択します。

  3. Create » App Package を選択します。

  4. アプリケーションパッケージの名前を入力します。

  5. アプリケーションパッケージの対象コンシューマーを選択します。

    • Consumers outside of your organization を選択すると、アプリケーションパッケージを組織外で利用できるようになります。このオプションを選択すると、アプリケーションパッケージで定義されている各バージョンとパッチについて、 自動セキュリティスキャン が開始されます。

    • Consumers within your organization を選択して、組織内でアプリケーションパッケージを利用できるようにします。自動セキュリティスキャンは開始されません。

  6. オプションで、アプリケーションパッケージのコメントを入力します。これらのコメントはコンシューマーには表示されません。

  7. Create を選択します。

SQL コマンドを使用したアプリケーションパッケージの作成

SQL を使用してアプリケーションパッケージを作成するには、次の例に示すように CREATE APPLICATION PACKAGE コマンドを使用します。

CREATE APPLICATION PACKAGE HelloSnowflakePackage;
Copy

アプリケーションパッケージを作成したら、 SHOW APPLICATION PACKAGES コマンドを使用して、利用可能なアプリケーションパッケージのリストを表示します。

アプリケーションパッケージに対する権限付与

必要なアプリケーションパッケージの開発に関連するタスクには、アプリケーションパッケージに特定の権限が設定されています。以下のテーブルでは、これらのタスクを実行するために必要な権限について説明します。

権限

タスク

ATTACH LISTING

リストにアプリケーションパッケージを追加します。

DEVELOP

アプリケーションパッケージから開発モードで APPLICATION オブジェクトを作成します。

INSTALL

アプリケーションパッケージに基づいて APPLICATION オブジェクトを作成します。

MANAGE RELEASES

リリースディレクティブを指定し、バージョンとパッチレベルを表示します。

MANAGE VERSIONS

アプリケーションパッケージにバージョンとパッチレベルを追加します。

OWNERSHIP

上記のすべての作業を実行します。

Snowsightを使用したアプリケーションパッケージに対する権限付与

Snowsight を使用してアプリケーションパッケージに対する権限を設定するには、次を実行します。

  1. Snowsight にサインインします。

  2. 左側のナビゲーションバーで、 Apps を選択してから、 Packages を選択します。

  3. アプリケーションパッケージを選択し、 Settings タブを選択します。

  4. Privileges セクションで、付与する権限の横にある編集アイコンを選択します。

  5. Add Role を選択し、権限を付与するロールを選択します。

  6. Save を選択します。

権限の隣にロールが表示されます。

SQL コマンドを使ったアプリケーションパッケージに対する権限設定

SQL を使用してアプリケーションパッケージに対する権限をロールに付与するには、次の例に示すように、 GRANT <権限> コマンドを使用します。

GRANT MANAGE RELEASES ON APPLICATION PACKAGE HelloSnowflakePackage TO ROLE app_release_mgr;
Copy

このコマンドは、 app_release_mgr ロールに MANAGE RELEASES 権限を付与します同じコマンドを使用して、アプリケーションパッケージに対して利用可能なその他の権限を付与することができます。

アプリケーションパッケージの所有権の譲渡

アプリケーションパッケージを作成した後、アプリケーションパッケージの所有権を別のアカウントレベルのロールに譲渡することができます。

Snowsightを使用した所有権の譲渡

Snowsight を使用してアプリケーションパッケージの所有権を譲渡するには、次を実行します。

  1. Snowsight にサインインします。

  2. 左側のナビゲーションバーで、 Apps を選択してから、 Packages を選択します。

  3. 削除するアプリケーションパッケージの横にある ... を選択し、 Transfer Ownership を選択します。

  4. Transfer to で、新しいアカウントレベルのロールを選択します。

  5. Transfer を選択します。

SQL コマンドを使用した所有権の譲渡

SQL を使用して、アプリケーションパッケージの所有権を別のアカウントレベルのロールに譲渡するには、次の例に示すように、 GRANT OWNERSHIP コマンドを使用します。

GRANT OWNERSHIP ON APPLICATION HelloSnowflakePackage TO ROLE native_app_dev;
Copy

アカウントからのアプリケーションパッケージの削除

アプリケーションパッケージに対する OWNERSHIP 権限を持つユーザーは、アカウントからそのアプリケーションパッケージを削除することができます。ただし、現在リストに関連付けられているアプリケーションパッケージを削除することはできません。

アプリケーションパッケージを削除すると、プロバイダーアカウント内で利用できなくなります。

注釈

リストと添付されたアプリケーションパッケージを削除した後、コンシューマーはアプリケーションパッケージから作成された Snowflake Native App を表示することはできますが、アクセスすることはできません。コンシューマーが Snowflake Native App にアクセスしようとすると、アプリケーションパッケージが削除されたことを示すエラーを受け取ります。

Snowsightを使用したアプリケーションパッケージの削除

Snowsight を使用してアプリケーションパッケージを削除するには、次を実行します。

  1. Snowsight にサインインします。

  2. 左側のナビゲーションバーで、 Apps を選択してから、 Packages を選択します。

  3. 削除するアプリケーションパッケージの横にある ... を選択し、 Drop を選択します。

SQL コマンドを使用したアプリケーションパッケージの削除

SQL を使用してアプリケーションパッケージを削除するには、次の例に示すように、 DROP APPLICATION PACKAGE コマンドを実行します。

DROP APPLICATION PACKAGE HelloSnowflakePackage;
Copy