使用者控制的维护策略:提供商指南

通过使用者控制的维护策略,使用者可以定义 Snowflake Native App 在其账户中的升级时间。升级不再是在您发布新版本时立即发生,使用者可以推迟升级,安排到对其业务运作合适的维护窗口中进行。有关使用者如何创建和管理维护策略的信息,请参阅 使用者控制的维护策略

作为提供商,您需要:

  • 对发布指令启用维护时段升级。

  • 设置升级截止日期,以免使用者无限期推迟升级。

  • (可选)将 Snowpark Container Services 计算池节点维护与使用者的维护时段对齐。建议采用这种对齐方式,因为这样可以最大程度地减少对使用者的干扰。

启用维护时段升级

设置发布指令时,可以通过将 UPGRADE_IN_MAINTENANCE_WINDOW 参数设置为 TRUE,指定升级应遵循使用者维护策略。您还必须设置 UPGRADE_DEADLINE 参数,该参数定义必须完成升级的最晚日期和时间。在此截止日期之后,无论使用者的维护策略如何,升级都会继续进行。

要启用维护时段升级,请使用 ALTER APPLICATION PACKAGE ... MODIFY RELEASE CHANNEL 命令,如以下示例所示:

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL DEFAULT
  SET DEFAULT RELEASE DIRECTIVE
  VERSION = v1_0
  PATCH = 2
  UPGRADE_IN_MAINTENANCE_WINDOW = TRUE
  UPGRADE_DEADLINE = '2026-2-10T10:00:00Z';

此命令配置发布指令,以便具有维护策略的使用者可以将升级推迟到下一个维护时段,最迟可延迟到 2026 年 2 月 10 日 10:00 AM。

备注

  • 当 UPGRADE_IN_MAINTENANCE_WINDOW 设置为 TRUE 时,UPGRADE_DEADLINE 参数是必填项。将截止日期设置为一个日期和时间,以便使用者有足够的时间在其维护时段内完成升级。

  • 您不能同时设置 UPGRADE_AFTER 和 UPGRADE_IN_MAINTENANCE_WINDOW 参数。如果尝试同时设置两者,命令将失败并显示错误。

启用自动计算池维护

如果您的应用程序使用 Snowpark Container Services,您可以将计算池节点软件升级与使用者的维护时段保持一致。如果没有此设置,应用程序升级和计算池节点维护是不同的问题,可能在不同的时间发生。通过启用自动应用程序维护,两者都将协调到使用者选择的维护时段中。

要启用此功能,请在应用程序包中设置 AUTOMATIC_APPLICATION_MAINTENANCE 属性:

ALTER APPLICATION PACKAGE my_app_package
  SET AUTOMATIC_APPLICATION_MAINTENANCE = TRUE;

启用此功能后,Snowpark Container Services 计算池节点软件升级计划将安排在使用者的维护时段内进行。应用程序会先完成升级,然后进行任何计算池节点维护。

当使用者具有维护策略时会发生什么

当您在发布更新时将 UPGRADE_IN_MAINTENANCE_WINDOW 设置为 TRUE,会发生以下情况:

  • 如果使用者设置了维护策略,升级将推迟到该策略定义的下一个维护时段,或者直到达到升级截止日期(以先到者为准)。

  • 如果使用者未设置维护策略,升级将在默认的系统维护时段内进行。

  • 如果启用了 AUTOMATIC_APPLICATION_MAINTENANCE,应用程序代码会先完成升级,然后进行任何 Snowpark Container Services 计算池节点维护,全部在同一维护时段内进行。