アプリケーションパッケージを作成する

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

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

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

アプリケーションパッケージを作成する

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

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

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

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

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

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

Snowsightを使用してアプリケーションパッケージを作成する

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

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

  2. ナビゲーションメニューで Projects » App 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. ナビゲーションメニューで Projects » App 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. ナビゲーションメニューで Projects » App 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. ナビゲーションメニューで Projects » App Packages を選択します。

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

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

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

DROP APPLICATION PACKAGE HelloSnowflakePackage;
Copy