Eine App als Verbraucher aktualisieren

Unter diesem Thema wird beschrieben, wie ein Verbraucher eine Snowflake Native App, die in seinem Konto installiert ist, aktualisieren kann.

Überblick der Upgrades

Wenn ein Anbieter eine aktualisierte Version oder einen Patch für eine App veröffentlicht, wird die App im Allgemeinen automatisch im Konto des Verbrauchers aktualisiert. Das automatische Upgrade erfolgt für alle Instanzen der App in allen Snowflake Konten, in denen die App installiert ist.

Es kann einige Zeit dauern, bis alle App-Instanzen aktualisiert sind. Verbraucher können jedoch eine App manuell aktualisieren, nachdem eine neue Version eines Patches veröffentlicht wurde, solange die Aktualisierung der in ihrem Konto installierten Instanz noch nicht begonnen hat. Außerdem können Anbieter ein Datum und eine Uhrzeit angeben, zu der ein automatisches Upgrade erfolgt.

Manuelles Upgrade einer App

Manuelle Upgrades ermöglichen es einem Verbraucher, eine App zu aktualisieren, wenn ein Anbieter eine neue Version oder einen Patch veröffentlicht.

Um eine installierte Snowflake Native App auf die neueste verfügbare Version zu aktualisieren, kann ein Verbraucher die Klausel UPGRADE des Befehls ALTER APPLICATION verwenden, um die App zu ändern:

ALTER APPLICATION hello_snowflake_app UPGRADE;
Copy

Dieser Befehl initiiert das Upgrade einer installierten Version oder eines installierten Patches einer App unter Verwendung der im Anwendungspaket angegebenen Release-Richtlinie.

Eine App zu einem bestimmten Datum und einer bestimmten Uhrzeit aktualisieren

Wenn Sie eine neue Version einer App veröffentlichen, können Anbieter ein Datum und eine Uhrzeit angeben, zu der die App aktualisiert werden soll. Dieses Datum und diese Uhrzeit geben den frühesten Zeitpunkt an, an dem die App aktualisiert werden kann.

Verbraucher können eine Aufgabe erstellen, um die App zu einem bestimmten Zeitpunkt zu aktualisieren.

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

In diesem Beispiel wird versucht, die App stündlich zu aktualisieren, beginnend um 9:00 Uhr und endend um 17:00 Uhr an Sonntagen (Zeitzone America/Los_Angeles).

Überwachen des Status eines Upgrades

Verbraucher können den Befehl DESCRIBE APPLICATION verwenden, um den Status eines Upgrades anzuzeigen. Die folgenden Spalten enthalten Informationen zu den Upgrades:

Spalte

Beschreibung

upgrade_after

Gibt an, dass der Anbieter den Beginn eines Upgrades zu diesem Zeitpunkt geplant hat. Die Anwendung kann jedoch auch vor diesem Datum und dieser Uhrzeit aktualisiert werden. Weitere Informationen dazu finden Sie unter Manuelles Upgrade einer App.

upgrade_state

Der aktuelle Status der Hintergrundinstallation oder des Upgrades des Anwendungsobjekts. Gültige Werte:

  • INSTALLING: Das Anwendungsobjekt wird gerade erstellt.

  • INSTALL_FAILED: Das Erstellen des Anwendungsobjekts ist fehlgeschlagen. Das Anwendungsobjekt bleibt so lange im Status INSTALL_FAILED, bis es gelöscht wird. In der Spalte UPGRADE_FAILURE_REASON des Befehls DESCRIBE APPLICATION finden Sie Informationen darüber, warum die Installation oder das Upgrade fehlgeschlagen ist.

  • COMPLETE: Das Setup-Skript wurde erfolgreich abgeschlossen, und das Anwendungsobjekt wurde erstellt oder aktualisiert.

  • QUEUED: Das Anwendungsobjekt befindet sich in der Warteschlange für ein Upgrade.

  • UPGRADING: Das Anwendungsobjekt wird gerade aktualisiert.

  • FAILED: Alle Upgrade-Versuche sind fehlgeschlagen sind. Der Grund für den Fehler ist in der Spalte UPGRADE_FAILURE_REASON aufgeführt, falls vorhanden. Die Instanz verbleibt so lange im Status FAILED, bis eine Release-Richtlinie aktualisiert wird, die auf eine andere Version verweist als diejenige, auf die das Upgrade gemäß der Definition in der Spalte TARGET_UPGRADE_VERSION abzielte.

  • QUEUED_RETRY: Ein oder mehrere Upgrade-Versuche der Instanz sind fehlgeschlagen. Der Grund für den Fehler wird in der Spalte UPGRADE_FAILURE_REASON angegeben: Die Instanz befindet sich in der Warteschlange für einen weiteren Upgrade-Versuch.

  • DISABLED: Das Anwendungsobjekt und seine Upgrades wurden deaktiviert. In diesem Status ist die Instanz für den Zugriff durch die Verbraucher gesperrt, sie wird nicht für Upgrades berücksichtigt, und sie blockiert nicht das Löschen der Version des Anwendungspakets. Der Grund für den Fehler ist in der Spalte UPGRADE_FAILURE_REASON aufgeführt, falls vorhanden.

upgrade_target_version

Der Versionsbezeichner der Version, auf welche die App aktualisiert wird.

upgrade_target_patch

Der Patch, auf den das Anwendungsobjekt aktualisiert wird.