アプリのリリースディレクティブを設定する¶
このトピックでは、アプリケーションパッケージのリリースディレクティブのセット方法について説明します。
リリースディレクティブについて¶
リリースディレクティブは、コンシューマーがアプリをインストールしたりアップグレードしたりするときに利用できるアプリのバージョンを決定します。リリースディレクティブはアプリケーションパッケージで ALTER APPLICATION PACKAGE コマンドを使って定義します。
リリースディレクティブには2つのタイプがあります。
- カスタムリリースディレクティブ
プロバイダーは、特定のSnowflakeアカウントがインストールできるアプリケーションのバージョンを指定できます。詳細については、 カスタムリリースディレクティブを追加する をご参照ください。
- デフォルトリリースディレクティブ
Snowflake Native App をインストールするときに、すべてのコンシューマーに適用されるバージョンとパッチを指定します。プロバイダーがアプリケーションのバージョン V1 と V2 を作成する場合、デフォルトのリリースディレクティブを V2 にセットすることで、コンシューマーが Snowflake Native App をインストールするときに、確実にインストールされるようになります。
詳細については、 デフォルトリリースディレクティブを設定する をご参照ください。
プロバイダーがアプリケーションのバージョン V2 と V3 を作成する場合、V2 をデフォルトリリースとして割り当て、カスタムリリースディレクティブを作成して V3 を特定のアカウントとだけ共有することができます。プロバイダーは、アプリケーションのバージョンV3を、そのバージョンを公開する前にテストアカウントと共有することもできます。
注釈
デフォルトのリリースディレクティブとカスタムリリースディレクティブの両方を指定した場合は、カスタムリリースディレクティブが常に優先されます。上の例では、カスタムリリースディレクティブで指定されたコンシューマーカウントがインストールできるのは、アプリケーションのV3のみです。
以下のタスクを実行する前に、アプリケーションパッケージでリリースディレクティブを定義する必要があります。
アプリケーションパッケージをデータコンテンツとして公開リストを作成します。
コンシューマーアカウントに Snowflake Native App をインストールします。
リリースディレクティブの設定に必要な権限¶
リリースディレクティブを設定するには、プロバイダーは MANAGE RELEASES 権限かアプリケーションパッケージの所有権を持っていなければなりません。
GRANT MANAGE RELEASES ON APPLICATION PACKAGE hello_snowflake_package
TO ROLE release_mgr;
デフォルトのリリースディレクティブの設定¶
SET DEFAULT RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE を使用し、以下の例に示すようにデフォルトのリリースディレクティブを設定します。
ALTER APPLICATION PACKAGE hello_snowflake_package
SET DEFAULT RELEASE DIRECTIVE
VERSION = v1_0
PATCH = 2;
アプリケーションパッケージのデフォルトリリースディレクティブを更新するには、再度 SET DEFAULT RELEASE DIRECTIVE で ALTER APPLICATION PACKAGE コマンドを実行し、適宜 VERSION と PATCH に新しい値を指定します。
カスタムリリースディレクティブのセットと更新¶
カスタムリリースディレクティブのセット¶
カスタムリリースディレクティブを追加するには、 SET RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE コマンドを使用します。ACCOUNTS 句を使用して、このリリースディレクティブが適用されるアカウントを指定します。例:
ALTER APPLICATION PACKAGE hello_snowflake_package
SET RELEASE DIRECTIVE hello_snowflake_package_custom
ACCOUNTS = (CONSUMER_ORG.CONSUMER_ACCOUNT)
VERSION = v1_0
PATCH = 0;
カスタムリリースディレクティブを更新する¶
リリースディレクティブに基づいてアプリケーションパッケージを作成するには、次の例に示すように MODIFY RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE コマンドを使用します。
ALTER APPLICATION PACKAGE hello_snowflake_package
MODIFY RELEASE DIRECTIVE hello_snowflake_package_custom
VERSION = v1_0
PATCH = 0;
しかし、リリースディレクティブに関連付けられたアカウントを変更することはできません。リリースディレクティブに関連する組織とアカウントを変更するには、以下を実行します。
アプリケーションパッケージからリリースディレクティブを削除するには、 UNSET RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE コマンドを実行します。
SET RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE を実行し、 ACCOUNTS 句を使用してアカウントのリストを指定し、リリースディレクティブをアプリケーションパッケージに戻します。
注釈
リリースディレクティブに関連付けられている組織とアカウントを変更する場合は、古いリリースディレクティブを削除した直後に新しいリリースディレクティブを追加します。そうしないと、カスタムリリースディレクティブに割り当てられたアカウントにインストールされているアプリは、デフォルトのリリースディレクティブに戻ります。
カスタムリリースディレクティブを削除する¶
アプリケーションパッケージからカスタムリリースディレクティブを削除するには、次の例に示すように UNSET RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE コマンドを使用します。
ALTER APPLICATION PACKAGE hello_snowflake_package
UNSET RELEASE DIRECTIVE hello_snowflake_package_custom;
リリースディレクティブに基づいたアプリのテスト¶
開発モードのアプリケーションパッケージからアプリケーションをインストールする場合、バージョンとパッチが明示的に指定されます。ただし、以下のコマンドを使用してアプリケーションをインストールすると、次のようになります。
CREATE APPLICATION hello_snowflake
FROM APPLICATION PACKAGE hello_snowflake_package
リリースディレクティブが、このコマンドを実行したときにインストールされるバージョンを決定する。
アプリケーションパッケージのリリースディレクティブの表示¶
SQL を使用してリリースディレクティブを表示するには、次の例に示すように SHOW RELEASE DIRECTIVES コマンドを実行します。
SHOW RELEASE DIRECTIVES IN APPLICATION PACKAGE hello_snowflake_package;