コンシューマーとしてのアプリのアップグレード¶
このトピックでは、コンシューマーが自分のアカウントにインストールされている Snowflake Native App をアップグレードする方法について説明します。
アップグレード概要¶
一般的に、プロバイダーがアプリのアップデートバージョンやパッチを公開すると、コンシューマーアカウントでアプリが自動的にアップグレードされます。自動アップグレードは、アプリがインストールされているすべてのSnowflakeアカウントで、アプリのすべてのインスタンスに対して行われます。
すべてのアプリのインスタンスがアップグレードされるまでには時間がかかる場合があります。ただし、コンシューマーは、アカウントにインストールされているインスタンスのアップグレードが開始されていない限り、新バージョンのパッチが公開された後にアプリを手動でアップグレードすることができます。また、プロバイダーは、自動アップグレードが発生する日時を指定できます。
アプリの手動アップグレード¶
手動アップグレードは、プロバイダーが新しいバージョンやパッチを公開したときに、コンシューマーがアプリをアップグレードすることを可能にします。
インストールされている Snowflake Native App を利用可能な最新バージョンにアップグレードするには、コンシューマーは ALTER APPLICATION コマンドの UPGRADE 句を使用してアプリを変更します。
ALTER APPLICATION hello_snowflake_app UPGRADE;
このコマンドは、アプリケーションパッケージで指定されたリリースディレクティブを使用して、インストールされているアプリケーションのバージョンまたはパッチのアップグレードを開始します。
特定の日時にアプリをアップグレード¶
アプリの新バージョンを公開する際、プロバイダーはアプリがアップグレードされる日時を指定できます。この日時は、アプリをアップグレードできる最も早い日時を指定します。
コンシューマーは、特定の時間にアプリをアップグレードする タスクを作成 できます。
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;
この例では、日曜日の午前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
アプリケーションオブジェクトがアップグレードされるパッチ。