リリースチャネルを使用してアプリを公開する¶
このトピックでは、リリースチャンネルを使用して複数のバージョンの Snowflake Native App を管理し、公開する方法について説明します。
リリースチャンネルを使用するために必要な権限¶
リリースチャンネルを使用するには、 MANAGE RELEASES 権限を付与されたロールを使用する必要があります。この権限により、以下のことが可能になります:
アプリケーションパッケージのリリースチャンネルを有効にします。
QA、 ALPHA リリースチャンネルを有効にします。
バージョンとパッチの登録と解除。
バージョンとパッチを追加します。
リリースディレクティブをセットします。
アプリケーションパッケージのリリースチャンネルを有効にします。¶
If you disabled release channels when you created an application package, you can enable them using the ENABLE_RELEASE_CHANNELS clause of the application package as shown in the following commands:
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 アカウントを追加します。
注釈
Apps installed from the QA or ALPHA release channels are meant for testing. Only apps installed from the DEFAULT release channel are meant for production. For limited trial and paid (with trial) listings, the following limitations apply:
For an app installed from a listing using the QA or ALPHA release channels: These apps are free, and will be disabled after the trial period ends.
For an app installed from a listing using the DEFAULT release channel: These apps are disabled after the trial period ends. If the consumer wants to continue using the app, they must accept an offer, and select the app from the default release channel.
リリースチャンネルのモニタリング¶
アプリケーション・パッケージまたはリストに定義されているリリースチャンネルを表示します。¶
アプリケーション・パッケージで定義されているリリース・チャネルを表示するには、次の例に示すように 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;
注釈
アプリケーションパッケージで複数のインスタンスを有効にすると、アプリケーションパッケージ内のすべてのリリースチャンネルに適用されます。
注釈
A consumer can have multiple instances of an app using the QA or ALPHA release channels. If your app package is deployed to a paid listing, a consumer can only have one instance of an app using the DEFAULT release channel. Consumers can still install multiple app instances using the DEFAULT release channel from app packages in a free listing.
収益化とリリースチャンネル¶
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 リリース・チャンネルが使用されます。