Versionen und Patches für eine App erstellen¶
Unter diesem Thema wird beschrieben, wie Sie Versionen und Patches zu einem Anwendungspaket hinzufügen.
Allgemeine Informationen über Versionen und Patches und wie sie zur Aktualisierung und zum Upgrade einer App verwendet werden, finden Sie unter Über App-Versionen und Patches.
Version oder Patch zu einem Anwendungspaket hinzufügen¶
Die Version und die Patches einer Anwendung werden im Anwendungspaket definiert.
Nach dem Hinzufügen einer Version oder eines Patches zu einem Anwendungspaket können Anbieter die Änderungen lokal testen, indem sie ein auf der Version oder dem Patch basierendes Anwendungsobjekt erstellen.
Weitere Informationen dazu finden Sie unter Anwendungsobjekt aus einer Version oder einem Patch-Level erstellen.
Erforderliche Berechtigungen zum Hinzufügen oder Entfernen von Versionen und Patches¶
Um eine Version oder einen Patch für ein Anwendungspaket anzugeben, müssen Ihrer Rolle Sie folgende Berechtigungen für das Anwendungspaket erteilt worden sein:
OWNERSHIP
MANAGE VERSIONS
Um beispielsweise der Rolle release_mgr
die Berechtigung MANAGE VERSION für das Anwendungspaket zuzuweisen, verwenden Sie den Befehl GRANT <Berechtigungen> wie im folgenden Beispiel gezeigt:
GRANT MANAGE VERSIONS ON APPLICATION PACKAGE hello_snowflake_package
TO ROLE release_mgr;
Hinzufügen einer Version zu einem Anwendungspaket¶
Um eine Version zum Anwendungspaket unter Verwendung von SQL hinzuzufügen, führen Sie den Befehl ALTER APPLICATION PACKAGE aus:
ALTER APPLICATION PACKAGE MyAppPackage
ADD VERSION v1
USING '@dev_stage/v1'
LABEL = 'MyApp Version 1.0';
In diesem Beispiel ist v1
ein Bezeichner für die Version. Dieser Bezeichner ist für die Verbraucher nicht sichtbar, wenn sie die Anwendung installieren. Der Verbraucher sieht die Versionsinformationen, die in der Klausel LABEL-Klausel definiert sind.
Vorsicht
Es können nur zwei Versionen einer Anwendung gleichzeitig existieren. Weitere Informationen dazu finden Sie unter Über App-Versionen und Patches.
Sie können den Versionsnamen und die Bezeichnung in der Datei manifest.yml
definieren, oder Sie geben diese Informationen direkt mit dem Befehl ALTER APPLICATION PACKAGE an. Wenn Sie die Informationen sowohl in der Datei manifest.yml
als auch mit dem SQL-Befehl definieren, haben die im SQL-Befehl angegebenen Werte Vorrang vor den in der manifest.yml
-Datei angegebenen Werten.
Hinzufügen eines Patches zu einem Anwendungspaket¶
Neben dem Erstellen von Versionen für eine App können Sie auch Patches für eine bestimmte Version erstellen. Wie die Versionen haben auch die App-Patches ihre eigenen Anwendungsdateien.
Um einen neuen Patch für ein Anwendungspaket zu erstellen, verwenden Sie im Befehl ALTER APPLICATION PACKAGE … VERSION die Klausel ADD PATCH FOR VERSION, wie im folgenden Beispiel gezeigt:
ALTER APPLICATION PACKAGE MyAppPackage
ADD PATCH FOR VERSION V1_0
USING '@dev_stage/v1_0_p1;
In diesem Beispiel wird der Klausel ADD PATCH FOR VERSION V1_0 keine Patchnummer bereitgestellt. Snowflake wird daher die Patchnummer automatisch um 1 erhöhen.
Um einen neuen Patch für eine Anwendung mit kundenspezifischer Patchnummer zu erstellen, verwenden Sie im Befehl ALTER APPLICATION PACKAGE … VERSION die Klausel ADD PATCH FOR VERSION, wie im folgenden Beispiel gezeigt:
ALTER APPLICATION PACKAGE MyAppPackage
ADD PATCH 3
FOR VERSION V1_0
USING '@dev_stage/v1_p1;
Anzeigen der Versionen und Patches in einem Anwendungspaket¶
Als Anbieter können Sie die für eine Anwendung definierten Versionen und Patches anzeigen, indem Sie den Befehl SHOW VERSIONS auf dem Anwendungspaket ausführen.
Mit dem folgenden Befehl werden die Versionen und Patches angezeigt, die für ein Anwendungspaket namens hello_snowflake_package
definiert wurden:
SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
Version aus einem Anwendungspaket entfernen¶
Um eine Version aus einem Anwendungspaket zu entfernen, müssen Sie sicherstellen, dass es derzeit keine Release-Richtlinien gibt, die auf die Version verweisen, die Sie entfernen möchten.
Weitere Informationen zur Anzeige von Release-Richtlinien finden Sie unter Release-Richtlinie für ein Anwendungspaket anzeigen.
Um eine Version aus einem Anwendungspaket zu entfernen, verwenden Sie im Befehl ALTER APPLICATION PACKAGE die Klausel DROP VERSION, wie im folgenden Beispiel gezeigt:
ALTER APPLICATION PACKAGE hello_snowflake_package
DROP VERSION v1_0;
Nach Ausführung dieses Befehls wird die Version erst dann gelöscht, wenn alle installierten Instanzen der App gelöscht wurden. Um den Status des Löschbefehls zu überprüfen, verwenden Sie den Befehl SHOW VERSIONS, wie im folgenden Beispiel gezeigt:
SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
Die Spalte dropped_on
enthält den Zeitstempel für den Zeitpunkt, zu dem das Löschen initiiert wurde.
Bemerkung
Die gelöschte Version wird in der Ausgabe dieses Befehl nur dann angezeigt, wenn der Status DROPPED
ist. Wenn alle installierten Instanzen der App gelöscht wurden, wird die gelöschte Version nicht mehr angezeigt.
Wenn eine Version gelöscht wird, können Verbraucher keine neuen Instanzen dieser Version der App mehr installieren.
Je nachdem, wie die Anwendung für die Verbraucher veröffentlicht wurde, kann es unterschiedlich lange dauern, bis die Version gelöscht ist:
Wenn das Anwendungspaket noch nicht für die Verbraucher veröffentlicht wurde, wird die Version sofort gelöscht.
Wenn das Anwendungspaket als öffentliches oder privates Freigabeangebot in einer einzigen Region veröffentlicht wurde, wird die Version sofort gelöscht.
Wenn das Anwendungspaket als Datenprodukt eines Freigabeangebots veröffentlicht wurde, das in derselben Region wie das Anwendungspaket freigegeben wurde, wird die Version innerhalb weniger Stunden gelöscht.
Wenn das Anwendungspaket als Datenprodukt eines Freigabeangebots mit Cloud-übergreifender automatischer Ausführung veröffentlicht wurde, kann es länger dauern, bis die Version in allen Regionen gelöscht ist.