アプリのリリースディレクティブを設定する

このトピックでは、アプリケーションパッケージのリリースディレクティブのセット方法について説明します。

リリースディレクティブについて

リリースディレクティブは、コンシューマーがアプリをインストールしたりアップグレードしたりするときに利用できるアプリのバージョンを決定します。リリースディレクティブはアプリケーションパッケージで 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;
Copy

デフォルトのリリースディレクティブの設定

SET DEFAULT RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE を使用し、以下の例に示すようにデフォルトのリリースディレクティブを設定します。

ALTER APPLICATION PACKAGE hello_snowflake_package
  SET DEFAULT RELEASE DIRECTIVE
  VERSION = v1_0
  PATCH = 2;
Copy

アプリケーションパッケージのデフォルトリリースディレクティブを更新するには、再度 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;
Copy

カスタムリリースディレクティブを更新する

リリースディレクティブに基づいてアプリケーションパッケージを作成するには、次の例に示すように MODIFY RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE コマンドを使用します。

ALTER APPLICATION PACKAGE hello_snowflake_package
  MODIFY RELEASE DIRECTIVE hello_snowflake_package_custom
  VERSION = v1_0
  PATCH = 0;
Copy

しかし、リリースディレクティブに関連付けられたアカウントを変更することはできません。リリースディレクティブに関連する組織とアカウントを変更するには、以下を実行します。

  1. アプリケーションパッケージからリリースディレクティブを削除するには、 UNSET RELEASE DIRECTIVE を指定して ALTER APPLICATION PACKAGE コマンドを実行します。

  2. 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;
Copy

リリースディレクティブに基づいたアプリのテスト

開発モードのアプリケーションパッケージからアプリケーションをインストールする場合、バージョンとパッチが明示的に指定されます。ただし、以下のコマンドを使用してアプリケーションをインストールすると、次のようになります。

CREATE APPLICATION hello_snowflake
  FROM APPLICATION PACKAGE hello_snowflake_package
Copy

リリースディレクティブが、このコマンドを実行したときにインストールされるバージョンを決定する。

アプリケーションパッケージのリリースディレクティブの表示

SQL を使用してリリースディレクティブを表示するには、次の例に示すように SHOW RELEASE DIRECTIVES コマンドを実行します。

SHOW RELEASE DIRECTIVES IN APPLICATION PACKAGE hello_snowflake_package;
Copy