コンシューマーとしてのアプリのアップグレード

このトピックでは、コンシューマーが自分のアカウントにインストールされている Snowflake Native App をアップグレードする方法について説明します。

アップグレード概要

一般的に、プロバイダーがアプリのアップデートバージョンやパッチを公開すると、コンシューマーアカウントでアプリが自動的にアップグレードされます。自動アップグレードは、アプリがインストールされているすべてのSnowflakeアカウントで、アプリのすべてのインスタンスに対して行われます。

すべてのアプリのインスタンスがアップグレードされるまでには時間がかかる場合があります。ただし、コンシューマーは、アカウントにインストールされているインスタンスのアップグレードが開始されていない限り、新バージョンのパッチが公開された後にアプリを手動でアップグレードすることができます。また、プロバイダーは、自動アップグレードが発生する日時を指定できます。

アプリの手動アップグレード

手動アップグレードは、プロバイダーが新しいバージョンやパッチを公開したときに、コンシューマーがアプリをアップグレードすることを可能にします。

インストールされている Snowflake Native App を利用可能な最新バージョンにアップグレードするには、コンシューマーは ALTER APPLICATION コマンドの UPGRADE 句を使用してアプリを変更します。

ALTER APPLICATION hello_snowflake_app UPGRADE;
Copy

このコマンドは、アプリケーションパッケージで指定されたリリースディレクティブを使用して、インストールされているアプリケーションのバージョンまたはパッチのアップグレードを開始します。

特定の日時にアプリをアップグレード

アプリの新バージョンを公開する際、プロバイダーはアプリがアップグレードされる日時を指定できます。この日時は、アプリをアップグレードできる最も早い日時を指定します。

コンシューマーは、特定の時間にアプリをアップグレードする タスクを作成 できます。

CREATE OR REPLACE TASK APP_UPGRADE_TASK
 SCHEDULE = 'USING CRON 0 9-17 * * SUN America/Los_Angeles'
 WAREHOUSE = 'WH'
 AS
   ALTER APPLICATION hello_snowflake_app UPGRADE;

ALTER TASK APP_UPGRADE_TASK RESUME;
Copy

この例では、日曜日の午前9時から午後5時まで、1時間ごとにアプリのアップグレードを試みます(America/Los_Angelesタイムゾーン)。

アップグレードのステータスの監視

コンシューマーは、 DESCRIBE APPLICATION コマンドを使用して、アップグレードのステータスを表示できます。以下の列には、アップグレードに特有の情報が記載されています。

説明

upgrade_after

プロバイダーがこの時点でアップグレードの開始をスケジュールしていることを示します。ただし、この日時より前にアプリがアップグレードされる場合があります。詳細については、 アプリの手動アップグレード をご参照ください。

upgrade_state

アプリケーションオブジェクトのバックグラウンドインストールまたはアップグレードの現在の状態。有効な値:

  • INSTALLING: アプリケーションオブジェクトは作成中です。

  • INSTALL_FAILED: アプリケーションオブジェクトの作成に失敗しました。アプリケーションオブジェクトは、ドロップされるまで INSTALL_FAILED の状態を維持します。インストールやアップグレードに失敗した原因については、 DESCRIBE APPLICATION コマンドの UPGRADE_FAILURE_REASON 列をご参照ください。

  • COMPLETE: セットアップスクリプトが正常に完了し、アプリケーションオブジェクトが作成またはアップグレードされました。

  • QUEUED: アプリケーションオブジェクトはアップグレードのためにキューに入っています。

  • UPGRADING: アプリケーションオブジェクトはアップグレード中です。

  • FAILED: すべてのアップグレード試行に失敗しました。失敗の理由(ある場合)が UPGRADE_FAILURE_REASON 列にリストされます。インスタンスは、 TARGET_UPGRADE_VERSION 列で定義されているように、リリースディレクティブがアップグレードのターゲットとしていたバージョンとは異なるバージョンをポイントするように更新されるまで、 FAILED の状態のままです。

  • QUEUED_RETRY: インスタンスは1つ以上のアップグレード試行に失敗しました。失敗の理由は UPGRADE_FAILURE_REASON で示されます: インスタンスは別のアップグレードを実行するためにキューに入っています。

  • DISABLED: アプリケーションオブジェクトとそのアップグレードが無効になりました。この状態では、コンシューマーはインスタンスにアクセスできなくなり、アップグレードの対象とはみなされず、アプリケーションパッケージのバージョンドロップはブロックされません。失敗の理由(ある場合)が UPGRADE_FAILURE_REASON 列にリストされます。

upgrade_target_version

アプリをアップグレードするバージョンの識別子。

upgrade_target_patch

アプリケーションオブジェクトがアップグレードされるパッチ。