リリースチャネルを使用してアプリを公開する¶
このトピックでは、リリースチャンネルを使用して複数のバージョンの Snowflake Native App を管理し、公開する方法について説明します。
リリースチャンネルについて¶
リリースチャネルにより、プロバイダーはアプリ開発ライフサイクルのさまざまなステージでアプリを公開できます。例えば、プロバイダーはリリース・チャンネルを使って次のようなタスクを実行できます。
アプリのテスト
プレビューまたはUAT(ユーザー受け入れテスト)としてコンシューマーにアプリを公開します。
アプリを本番環境に公開します。
プロバイダーはアプリケーションパッケージのリリースチャンネルを有効にします。リリースチャンネルを使用すると、プロバイダーはアプリの2つ以上のバージョンを作成できます。2バージョン制限は、アプリケーションパッケージごとではなく、リリースチャンネルごとに適用されます。
対応リリースチャンネル¶
Snowflake Native App Framework は以下のリリースチャンネルをサポートしています。プロバイダーが使用する特定のリリースチャンネルは、アプリ開発のライフサイクルの現在のステージによって異なります。
QA: このリリースチャンネルに割り当てられたアプリのバージョンとパッチは、プロバイダーの組織内のコンシューマーだけが利用できます。このリリースチャンネルを使用して公開されるアプリは、組織内の特定のアカウントをターゲットにする必要があります。
プロバイダーはこのリリースチャンネルをテストに使用できます。QA リリースチャンネルを使用して公開されたアプリは、 自動セキュリティスキャン を実行する必要はありません。
ALPHA: このリリースチャンネルに割り当てられたアプリのバージョンとパッチは、プロバイダーの組織外のコンシューマーに公開することができます。アプリがこのリリースチャンネルに割り当てられると、自動セキュリティスキャンが実行されます。
セキュリティスキャンが進行している間、プロバイダーはこのバージョンのリリースディレクティブをセットすることができ、コンシューマーはそれを自分のアカウントにインストールすることができます。しかし、このリリースチャンネルに割り当てられたバージョンがセキュリティスキャンに失敗した場合、そのバージョンは使用できなくなります。
プロバイダーはこのチャンネルを利用して、アプリの開発中にコンシューマーと協力することができます。
DEFAULT: このリリースチャンネルに割り当てられたアプリのバージョンやパッチは、そのアプリのバージョンやパッチにアクセスできるすべてのコンシューマーが可用性を持っています。このリリースチャンネルに割り当てられたアプリは、自動セキュリティスキャンに合格する必要があります。
このリリースチャンネルはプロダクションリリースチャンネルです。このリリースチャンネルに割り当てられたすべてのアプリは、アプリを公開するためのセキュリティ要件とガイドラインに準拠している必要があります。詳細については、 Snowflake Native App のセキュリティ要件とガイドライン をご参照ください。
リリースチャンネルを使用するために必要な権限¶
リリースチャンネルを使用するには、 MANAGE RELEASES 権限を付与されたロールを使用する必要があります。この権限により、以下のことが可能になります:
アプリケーションパッケージのリリースチャンネルを有効にします。
QA、 ALPHA リリースチャンネルを有効にします。
バージョンとパッチの登録と解除。
バージョンとパッチを追加します。
リリースディレクティブをセットします。
アプリケーションパッケージのリリースチャンネルを有効にします。¶
リリース・チャネルを使用してアプリケーションを管理および公開するには、プロバイダーは次のコマンドに示すように、アプリケーション・パッケージの ENABLE_RELEASE_CHANNELS 句を使用してリリース・チャネルを有効にする必要があります。
CREATE APPLICATION PACKAGE my_app_package ENABLE_RELEASE_CHANNELS=TRUE;
ALTER APPLICATION PACKAGE my_app_package SET ENABLE_RELEASE_CHANNELS=TRUE;
警告
アプリケーション・パッケージでリリースチャンネルを有効にした後、無効にすることはできません。
ALPHA、 QA リリースチャンネルを有効にします。¶
デフォルトでは、 DEFAULT リリースチャンネルのみがすべてのコンシューマーに利用可能で、アクセス可能なリストからアプリをインストールできます。
QA および ALPHA リリースチャンネルを使用するには、プロバイダーが特定のアカウントのアプリケーションパッケージ上で明示的に有効にする必要があります。これらのチャンネルについて、アプリケーションパッケージは各チャンネルに追加されたアカウントのリストを保持します。
プロバイダーは、 ALTER APPLICATION コマンドの MODIFY RELEASE CHANNEL 句を使用して、アカウントをリリースチャンネルに追加できます。
ALPHA リリースチャンネルに ORG1.ACCOUNT1 アカウントを追加するには:
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA ADD ACCOUNTS=(ORG1.ACCOUNT1);
ALPHA リリースチャンネルから ORG1.ACCOUNT1 アカウントを削除するには:
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA REMOVE ACCOUNTS=(ORG1.ACCOUNT1);
リリースチャネルに追加されたアカウントの現在のリストを上書きするには、プロバイダーは、次の例に示すように、 ALTER APPLICATION PACKAGE コマンドの SET 句を使用することができます。
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA SET ACCOUNTS=(ORG1.ACCOUNT2);
このコマンドは、 ALPHA リリースチャンネルから現在のアカウントをすべて削除し、 ORG1.ACCOUNT2 アカウントを追加します。
リリースチャンネルのモニタリング¶
アプリケーション・パッケージまたはリストに定義されているリリースチャンネルを表示します。¶
アプリケーション・パッケージで定義されているリリース・チャネルを表示するには、次の例に示すように SHOW RELEASE CHANNELS コマンドを使用します。
SHOW RELEASE CHANNELS IN APPLICATION PACKAGE my_app_package;
リストに定義されているリリース・チャネルを表示するには、次の例に示すように SHOW RELEASE CHANNELS コマンドを使用します。
SHOW RELEASE CHANNELS IN LISTING <listing_id>;
インストールされているアプリのリリースチャンネル表示¶
インストールされているアプリのすべてのインスタンスのリリースチャンネルを表示するには、 SNOWFLAKE.DATA_SHARING_USAGE.APPLICATION_STATE ビューの current_release_channel_name
列を表示します。
リリースチャンネルを使用したバージョンとパッチの管理¶
プロバイダーは、リリースチャンネル内のリリースディレクティブで使用する前に、バージョンやパッチを特定のリリースチャンネルに追加する必要があります。あるバージョンがリリースチャンネルに追加された後、そのバージョンの後続パッチもそのリリースチャンネルにバインドされて使用されるようになります。
注釈
ALTER APPLICATION PACKAGE コマンドの ADD VERSION USING ‘@stage/path’
句は、リリースチャンネルが有効になっているアプリケーション・パッケージではサポートされません。プロバイダーは、アプリケーションパッケージにバージョンを登録および登録解除する必要があります。
バージョンの登録¶
リリースチャンネルを持つアプリケーションパッケージに新しいバージョンのアプリケーションを追加する前に、プロバイダーは ALTER APPLICATION PACKAGE コマンドの REGISTER 句を使用して、リリースチャンネルにバージョンを登録する必要があります:
ALTER APPLICATION PACKAGE my_app_package REGISTER VERSION V1 USING '@stage/path';
このコマンドはアプリのバージョンV1を作成し、パッチ0も作成します。このバージョンはどのリリースチャンネルにも割り当てられていません。アプリケーションパッケージには、最大2つの未割り当てバージョン(どのリリースチャンネルにも追加されていない)が許可されています。
バージョンの登録解除¶
すでに2つのバージョンを持つアプリケーションパッケージに新しいバージョンを作成するには、プロバイダーは古いバージョンの登録を解除する必要があります。
バージョンと関連するパッチの登録を解除するには、 ALTER APPLICATION PACKAGE の DEREGISTER 句を使用します。次のコマンドは、アプリケーション・パッケージからバージョン v1
の登録を解除する方法を示しています。
ALTER APPLICATION PACKAGE my_app_package DEREGISTER VERSION v1;
注釈
リリースチャンネルを使用する場合、アプリケーションパッケージから既存のバージョンを削除する必要はありません。
リリースチャンネルへのバージョンの追加¶
アプリケーションパッケージにアプリケーションの新しいバージョンを登録した後、明示的にそのバージョンをリリースチャンネルに追加して、アプリのリリースディレクティブをセットする必要があります。
リリース・チャネルにバージョンを追加するには、 ALTER APPLICATION PACKAGE コマンドの ADD VERSION 句を使用します。
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA ADD VERSION V1;
注釈
1つのリリース・チャンネルに同時に含めることができるバージョンは2つだけです。
リリースチャンネルからバージョンを削除¶
リリースチャンネルからバージョンを削除するには、 ALTER APPLICATION PACKAGE の DROP 句を使用します。
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA DROP VERSION V1;
リリースチャンネルからのバージョンの削除は非同期で行われ、すべてのコンシューマーがそのバージョンからアップグレードされたときにのみ、本当に削除されます。
リリースチャンネルを使用したリリースディレクティブのセット¶
アプリケーションパッケージでリリースチャンネルが有効になっている場合、各チャネルはそれ自身のリリースディレクティブを持ちます。
リリースチャンネルのデフォルトリリースディレクティブをセットするには:
ALTER APPLICATION PACKAGE my_app_package
MODIFY RELEASE CHANNEL ALPHA
SET DEFAULT RELEASE DIRECTIVE VERSION=v1 PATCH=10;
リリースチャンネルにカスタムリリースディレクティブをセットするには:
ALTER APPLICATION PACKAGE my_app_package
MODIFY RELEASE CHANNEL ALPHA
SET RELEASE DIRECTIVE my_custom_release_directive
VERSION=V1 PATCH=11 ACCOUNTS=(ORG1.ACCOUNT1);
リリースチャンネルを使用した複数インスタンスの有効化¶
コンシューマーが自分のアカウントでアプリの複数のインスタンスを作成できるようにすることができます。プロバイダーは、テストアカウントでアプリの複数のインスタンスを作成することもできます。
複数のインスタンスを有効にするには、以下のコマンドのようにアプリケーションパッケージの MULTIPLE_INSTANCES プロパティを使用します。
CREATE APPLICATION PACKAGE <name> MULTIPLE_INSTANCES=TRUE;
ALTER APPLICATION PACKAGE <name> SET MULTIPLE_INSTANCES=TRUE;
注釈
アプリケーションパッケージで複数のインスタンスを有効にすると、アプリケーションパッケージ内のすべてのリリースチャンネルに適用されます。
収益化とリリースチャンネル¶
DEFAULT リリースチャンネルを使用してインストールされたすべてのアプリインスタンスは、リストに構成された料金プランを使用します。
ALPHA および QA リリースチャンネルからインストールされたアプリインスタンスは無料であり、リストに設定された料金プランは使用されません。
リリースチャンネルを使用したアプリのインストール¶
プロバイダーは CREATE APPLICATION を使用して、テスト環境のリリースチャンネルからアプリを作成できます。
注釈
QA または ALPHA リリースチャンネルからアプリをインストールするには、 CREATE PREVIEW APPLICATION 権限を付与されたロールを使用する必要があります。
同じアカウントのアプリケーションパッケージからアプリケーションをインストールするには、以下のコマンドを実行します。
CREATE APPLICATION my_app
FROM APPLICATION PACKAGE my_app_package
USING RELEASE CHANNEL QA;
明示的に USING RELEASE CHANNEL
句を使用しない場合、 DEFAULT リリース・チャンネルが使用されます。
リストから別のアカウントにアプリをインストールするには、以下のコマンドを実行します。
CREATE APPLICATION my_app
FROM LISTING
USING RELEASE CHANNEL QA;
明示的に USING RELEASE CHANNEL
句を使用しない場合、 DEFAULT リリース・チャンネルが使用されます。