以使用者的身份升级应用程序¶
本主题介绍使用者如何升级其账户中安装的 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:00 起到下午 5:00,每小时升级一次应用程序。
监控升级状态¶
使用者可以使用 DESCRIBE APPLICATION 命令查看升级状态。以下各列提供了与升级有关的具体信息:
列
描述
upgrade_after
表示提供商已安排在此时开始升级。但应用程序可能会在此日期和时间之前升级。有关更多信息,请参阅 手动升级应用程序。
upgrade_state
应用程序对象的后台安装或升级的当前状态。有效值为:
INSTALLING
:应用程序处于创建过程中。
INSTALL_FAILED
:应用程序对象创建失败。应用程序会一直处于INSTALL_FAILED
状态,直至被删除。有关安装或升级失败的原因的信息,请参阅 DESCRIBE APPLICATION 命令的UPGRADE_FAILURE_REASON
列。
COMPLETE
:已成功完成安装脚本,并已创建或升级应用程序对象。
QUEUED
:应用程序对象处于升级队列中。
UPGRADING
:应用程序对象正在升级过程中。
FAILED
:所有升级尝试均失败。如果存在,失败的原因将在UPGRADE_FAILURE_REASON
列中列出。实例将保持FAILED
状态,直到版本指令更新为指向与TARGET_UPGRADE_VERSION
列中定义的升级目标版本不同的版本。
QUEUED_RETRY
:实例在一次或多次升级尝试中失败。UPGRADE_FAILURE_REASON
中指明了失败的原因:实例排队等待执行另一次升级尝试。
DISABLED
:应用程序对象及其升级已禁用。在这种状态下,使用者将无法访问该实例,也不会考虑对其进行升级,更不会阻止应用程序包版本的删除。如果存在,失败的原因将在UPGRADE_FAILURE_REASON
列中列出。
upgrade_target_version
应用程序要升级到的版本的版本标识符。
upgrade_target_patch
应用程序对象正在升级到的补丁。