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;
Copy

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';
Copy

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;
Copy

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;
Copy

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;
Copy

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;
Copy

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;
Copy

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.