Veröffentlichen einer App über Release-Kanäle

Unter diesem Thema wird beschrieben, wie Sie mit Hilfe von Release-Kanälen mehrere Versionen einer Snowflake Native App verwalten und veröffentlichen können.

Erforderliche Berechtigungen für die Nutzung von Release-Kanälen

Um Release-Kanäle zu verwenden, müssen Sie eine Rolle verwenden, der die Berechtigung MANAGE RELEASES erteilt wurde. Diese Berechtigung erlaubt Ihnen Folgendes:

  • Aktivieren der Release-Kanäle für das Anwendungspaket.

  • Aktivieren der Release-Kanäle QA und ALPHA.

  • Registrieren und Deregistrieren von Versionen und Patches.

  • Hinzufügen von Versionen und Patches.

  • Festlegen der Release-Richtlinie.

Release-Kanäle für ein Anwendungspaket aktivieren

If you disabled release channels when you created an application package, you can enable them using the ENABLE_RELEASE_CHANNELS clause of the application package as shown in the following commands:

CREATE APPLICATION PACKAGE my_app_package ENABLE_RELEASE_CHANNELS=TRUE;
ALTER APPLICATION PACKAGE my_app_package SET ENABLE_RELEASE_CHANNELS=TRUE;
Copy

Warnung

Nachdem Release-Kanäle für ein Anwendungspaket aktiviert wurden, können sie nicht mehr deaktiviert werden.

Aktivieren der Release-Kanäle ALPHA und QA

Standardmäßig steht allen Verbrauchern nur der Release-Kanal DEFAULT zur Verfügung, über den sie eine Freigabeangebot installieren können, auf das sie Zugriff haben.

Um die Release-Kanäle QA und ALPHA nutzen zu können, müssen Anbieter sie im Anwendungspaket für bestimmte Konten ausdrücklich aktivieren. Für diese Kanäle verwaltet das Anwendungspaket eine Liste der Konten, die den einzelnen Kanälen hinzugefügt wurden.

Anbieter können mit der Klausel MODIFY RELEASE CHANNEL des Befehls ALTER APPLICATION ein Konto zu einem Release-Kanal hinzufügen.

So fügen Sie das Konto ORG1.ACCOUNT1 zum Release-Kanal ALPHA hinzu:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA ADD ACCOUNTS=(ORG1.ACCOUNT1);
Copy

So entfernen Sie das Konto ORG1.ACCOUNT1 aus dem Release-Kanal ALPHA:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA REMOVE ACCOUNTS=(ORG1.ACCOUNT1);
Copy

Um die aktuelle Liste der Konten, die einem Release-Kana hinzugefügt wurden, zu überschreiben, kann ein Anbieter die Klausel SET des Befehls ALTER APPLICATION PACKAGE verwenden wie im folgenden Beispiel gezeigt:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA SET ACCOUNTS=(ORG1.ACCOUNT2);
Copy

Mit diesem Befehl werden alle aktuellen Konten aus dem Release-Kanal ALPHA entfernt und das Konto ORG1.ACCOUNT2 hinzugefügt.

Überwachung der Release-Kanäle

Anzeigen der in einem Anwendungspaket oder einem Freigabeangebot definierten Release-Kanäle

Um die im Anwendungspaket definierten Release-Kanäle anzuzeigen, verwenden Sie den Befehl SHOW RELEASE CHANNELS wie im folgenden Beispiel gezeigt:

SHOW RELEASE CHANNELS IN APPLICATION PACKAGE my_app_package;
Copy

Um die für ein Freigabeangebot definierten Release-Kanäle anzuzeigen, verwenden Sie den Befehl SHOW RELEASE CHANNELS wie im folgenden Beispiel gezeigt:

SHOW RELEASE CHANNELS IN LISTING <listing_id>;
Copy

Den Release-Kanal einer installierten Anwendung anzeigen

Um die Release-Kanäle für alle installierten Instanzen einer Anwendung anzuzeigen, sehen Sie sich die Spalte current_release_channel_name der Ansicht SNOWFLAKE.DATA_SHARING_USAGE.APPLICATION_STATE an.

Verwalten von Versionen und Patches über Release-Kanäle

Anbieter müssen eine Version oder einen Patch zu einem bestimmten Release-Kanal hinzufügen, bevor sie von Release-Richtlinien innerhalb eines Release-Kanals verwendet werden können. Nachdem eine Version zu einem Release-Kanal hinzugefügt wurde, sind nachfolgende Patches für diese Version ebenfalls an diesen Release-Kanal gebunden und können verwendet werden.

Bemerkung

Die Klausel ADD VERSION USING ‘@stage/path’ des Befehls ALTER APPLICATION PACKAGE wird nicht für Anwendungspakete unterstützt, bei denen Release-Kanäle aktiviert sind. Anbieter müssen eine Version im Anwendungspaket registrieren und deregistrieren.

Eine Version registrieren

Bevor Sie eine neue Version einer Anwendung zu einem Anwendungspaket mit Release-Kanälen hinzufügen, müssen Anbieter die Version im Release-Kanal registrieren, indem Sie die Klausel REGISTER des Befehls ALTER APPLICATION PACKAGE verwenden:

ALTER APPLICATION PACKAGE my_app_package REGISTER VERSION V1 USING '@stage/path';
Copy

Dieser Befehl erstellt die Version V1 der Anwendung und erstellt auch Patch 0. Diese Version ist keinem Release-Kanal zugeordnet. Im Anwendungspaket sind maximal zwei nicht zugewiesene Versionen (die nicht zu einem Release-Kanal hinzugefügt wurden) erlaubt.

Eine Version deregistrieren

Um eine neue Version in einem Anwendungspaket zu erstellen, das bereits zwei Versionen hat, müssen Anbieter eine alte Version deregistrieren.

Um eine Version und die zugehörigen Patches zu deregistrieren, verwenden Sie die Klausel DEREGISTER der ALTER APPLICATION PACKAGE. Der folgende Befehl zeigt, wie Sie die Version v1 aus dem Anwendungspaket deregistrieren:

ALTER APPLICATION PACKAGE my_app_package DEREGISTER VERSION v1;
Copy

Bemerkung

Wenn Sie Release-Kanäle verwenden, müssen Sie die vorhandene Version nicht aus dem Anwendungspaket entfernen.

Hinzufügen einer Version zu einem Release-Kanal

Nachdem Sie eine neue Version einer Anwendung im Anwendungspaket registriert haben, müssen Sie die Version explizit zu einem Release-Kanal hinzufügen, um die Release-Richtlinie für die Anwendung festzulegen.

Um eine Version zu einem Release-Kanal hinzuzufügen, verwenden Sie die Klausel ADD VERSION des Befehls ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA ADD VERSION V1;
Copy

Bemerkung

Ein Release-Kanal kann nur zwei gleichzeitige Versionen enthalten.

Eine Version aus einem Release-Kanal entfernen

Um eine Version aus einem Release-Kanal zu entfernen, verwenden Sie die Klausel DROP des Befehls ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA DROP VERSION V1;
Copy

Das Entfernen einer Version aus einem Release-Kanal erfolgt asynchron und sie wird erst dann wirklich entfernt, wenn alle Verbraucher von dieser Version aktualisiert wurden.

Release-Richtlinie mithilfe eines Release-Kanals festlegen

Wenn Release-Kanäle für ein Anwendungspaket aktiviert sind, hat jeder Kanal seine eigene Release-Richtlinie.

So legen Sie die Standard-Release-Richtlinie für einen Release-Kanal fest:

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL ALPHA
  SET DEFAULT RELEASE DIRECTIVE VERSION=v1 PATCH=10;
Copy

So legen Sie eine benutzerdefinierte Release-Richtlinie für einen Release-Kanal fest:

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL ALPHA
  SET RELEASE DIRECTIVE my_custom_release_directive
  VERSION=V1 PATCH=11 ACCOUNTS=(ORG1.ACCOUNT1);
Copy

Aktivieren mehrerer Instanzen mithilfe von Release-Kanälen

Sie können Verbrauchern erlauben, mehrere Instanzen einer Anwendung in ihrem Konto zu erstellen. Anbieter können auch mehrere Instanzen einer Anwendung in ihrem Testkonto erstellen.

Um mehrere Instanzen zu aktivieren, verwenden Sie die Eigenschaft MULTIPLE_INSTANCES des Anwendungspakets wie in den folgenden Befehlen gezeigt:

CREATE APPLICATION PACKAGE <name> MULTIPLE_INSTANCES=TRUE;
ALTER APPLICATION PACKAGE <name> SET MULTIPLE_INSTANCES=TRUE;
Copy

Bemerkung

Die Aktivierung mehrerer Instanzen für das Anwendungspaket gilt für alle Release-Kanäle innerhalb des Anwendungspakets.

Monetarisierung und Release-Kanäle

Alle Anwendungsinstanzen, die über den Release-Kanal DEFAULT installiert werden, verwenden den für das Freigabeangebot konfigurierten Preisplan.

Anwendungsinstanzen, die über die Release-Kanäle ALPHA und QA installiert werden, sind kostenlos und verwenden nicht den für das Freigabeangebot konfigurierten Preisplan.

Installieren einer Anwendung mithilfe von Release-Kanälen

Anbieter können CREATE APPLICATION verwenden, um eine Anwendung aus einem Release-Kanal in ihrer Testumgebung zu erstellen.

Bemerkung

Um eine Anwendung aus den Release-Kanälen QA oder ALPHA zu installieren, müssen Sie eine Rolle verwenden, der die Berechtigung CREATE PREVIEW APPLICATION erteilt wurde.

Um eine Anwendung aus einem Anwendungspaket im selben Konto zu installieren, führen Sie den folgenden Befehl aus:

CREATE APPLICATION my_app
  FROM APPLICATION PACKAGE my_app_package
  USING RELEASE CHANNEL QA;
Copy

Wenn Sie die Klausel USING RELEASE CHANNEL nicht ausdrücklich verwenden, wird der Release-Kanal DEFAULT verwendet.

  • Um eine Anwendung aus einem Freigabeangebot heraus in einem anderen Konto zu installieren, führen Sie den folgenden Befehl aus:

CREATE APPLICATION my_app
  FROM LISTING
  USING RELEASE CHANNEL QA;
Copy

Wenn Sie die Klausel USING RELEASE CHANNEL nicht ausdrücklich verwenden, wird der Release-Kanal DEFAULT verwendet.