Publier une application à l’aide des canaux de version

Cette rubrique décrit comment utiliser les canaux de version pour gérer et publier plusieurs versions d’une Snowflake Native App.

Privilèges requis pour l’utilisation des canaux de version

Pour utiliser les canaux de version, vous devez utiliser un rôle auquel a été attribué le privilège MANAGE RELEASES. Ce privilège vous permet d’exécuter les actions suivantes :

  • Activer les canaux de version sur le paquet d’application.

  • Activer les canaux de version QA et ALPHA.

  • Enregistrer et annuler l’enregistrement des versions et des correctifs.

  • Ajouter des versions et des correctifs.

  • Définir la directive de version.

Activer les canaux de version pour un paquet d’application.

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

Avertissement

Une fois que les canaux de version sont activés pour un paquet d’application, ils ne peuvent plus être désactivés.

Activer les canaux de version ALPHA et QA

Par défaut, seul le canal de version DEFAULT est disponible pour tous les consommateurs et leur permet d’installer une application à partir d’un listing auquel ils ont accès.

Pour utiliser les canaux de version QA et ALPHA, les fournisseurs doivent les activer explicitement sur le paquet d’application pour des comptes spécifiques. Pour ces canaux, le paquet d’application gère une liste des comptes qui ont été ajoutés à chaque canal.

Les fournisseurs peuvent ajouter un compte à un canal de version en utilisant la clause MODIFY RELEASE CHANNEL de la commande ALTER APPLICATION.

Pour ajouter le compte ORG1.ACCOUNT1 au canal de version ALPHA :

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

Pour supprimer le compte ORG1.ACCOUNT1 du canal de version ALPHA :

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

Pour écraser la liste actuelle des comptes ajoutés à un canal de version, un fournisseur peut utiliser la clause SET de la commande ALTER APPLICATION PACKAGE, comme le montre l’exemple suivant :

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

Cette commande supprime tous les comptes actuels du canal de version ALPHA et ajoute le compte ORG1.ACCOUNT2.

Surveillance des canaux de version

Afficher les canaux de version définis dans un paquet d’application ou un listing

Pour afficher les canaux de version définis dans le paquet d’application, utilisez la commande SHOW RELEASE CHANNELS comme indiqué dans l’exemple suivant :

SHOW RELEASE CHANNELS IN APPLICATION PACKAGE my_app_package;
Copy

Pour afficher les canaux de version définis pour un listing, utilisez la commande SHOW RELEASE CHANNELS comme indiqué dans l’exemple suivant :

SHOW RELEASE CHANNELS IN LISTING <listing_id>;
Copy

Afficher le canal de version d’une application installée

Pour afficher les canaux de version de toutes les instances installées d’une application, affichez la colonne current_release_channel_name de la vue SNOWFLAKE.DATA_SHARING_USAGE.APPLICATION_STATE.

Gérer les versions et les correctifs à l’aide des canaux de version

Les fournisseurs doivent ajouter une version ou un correctif à un canal de version spécifique avant que les directives de version ne les utilisent dans un canal de version. Une fois qu’une version a été ajoutée à un canal de version, les correctifs ultérieurs pour cette version sont également liés à ce canal de version pour être utilisés.

Note

La clause ADD VERSION USING ‘@stage/path’ de la commande ALTER APPLICATION PACKAGE n’est pas prise en charge pour les paquets d’application dont les canaux de version sont activés. Les fournisseurs doivent enregistrer et annuler l’enregistrement d’une version dans le paquet d’application.

Enregistrer une version

Avant d’ajouter une nouvelle version d’une application à un paquet d’application avec des canaux de version, les fournisseurs doivent enregistrer la version dans le canal de version en utilisant la clause REGISTER de la commande ALTER APPLICATION PACKAGE :

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

Cette commande crée la version V1 de l’application ainsi que le correctif 0. Cette version n’est affectée à aucun canal de version. Le paquet d’application peut contenir au maximum deux versions non attribuées (qui n’ont été ajoutées à aucun canal de version).

Annuler l’enregistrement d’une version

Pour créer une nouvelle version dans un paquet d’application qui en compte déjà deux, les fournisseurs doivent annuler l’enregistrement d’une ancienne version.

Pour annuler l’enregistrement d’une version et les correctifs qui lui sont associés, utilisez la clause DEREGISTER de la commande ALTER APPLICATION PACKAGE. La commande suivante montre comment annuler l’enregistrement de la version v1 du paquet d’application :

ALTER APPLICATION PACKAGE my_app_package DEREGISTER VERSION v1;
Copy

Note

Lorsque vous utilisez les canaux de version, vous ne devez pas supprimer la version existante du paquet d’application.

Ajouter une version à un canal de version

Après avoir annulé l’enregistrement d’une nouvelle version d’une application dans le paquet d’application, vous devez explicitement ajouter la version à un canal de version pour définir la directive de version de l’application.

Pour ajouter une version à un canal de version, utilisez la clause ADD VERSION de la commande ALTER APPLICATION PACKAGE :

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

Note

Un canal de version ne peut contenir que deux versions simultanées.

Supprimer une version d’un canal de version

Pour supprimer une version d’un canal de version, utilisez la clause DROP de la commande ALTER APPLICATION PACKAGE :

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

La suppression d’une version d’un canal de version est asynchrone et la suppression n’aboutira vraiment que lorsque tous les consommateurs auront effectué la mise à jour de cette version.

Définir la directive de version à l’aide d’un canal de version

Lorsque des canaux de version sont activés pour un paquet d’application, chaque canal possède sa propre directive de version.

Pour définir la directive de version par défaut d’un canal de version :

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

Pour définir une directive de version personnalisé d’un canal de version :

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

Activer plusieurs instances à l’aide de canaux de version

Vous pouvez autoriser les consommateurs à créer plusieurs instances d’une application dans leur compte. Les fournisseurs peuvent également créer plusieurs instances d’une application dans leur compte de test.

Pour activer plusieurs instances, utilisez la propriété MULTIPLE_INSTANCES du paquet d’application, comme indiqué dans les commandes suivantes :

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

Note

L’activation de plusieurs instances pour le paquet d’application s’applique à tous les canaux de version du paquet d’application.

Monétisation et canaux de version

Toutes les instances d’applications installées à l’aide du canal de version DEFAULT utilisent le plan tarifaire configuré pour le listing.

Les instances d’applications installées à partir des canaux de version ALPHA et QA sont gratuites et n’utilisent pas le plan tarifaire configuré pour le listing.

Installation d’une application à l’aide des canaux de version

Les fournisseurs peuvent utiliser CREATE APPLICATION pour créer une application à partir d’un canal de version dans leur environnement de test.

Note

Pour installer une application à partir des canaux de version QA ou ALPHA, vous devez utiliser un rôle auquel a été attribué le privilège CREATE PREVIEW APPLICATION.

Pour installer une application à partir d’un paquet d’application dans le même compte, exécutez la commande suivante :

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

Si vous n’utilisez pas explicitement la clause USING RELEASE CHANNEL, c’est le canal de version DEFAULT qui est utilisé.

  • Pour installer une application dans un autre compte à partir d’un listing, exécutez la commande suivante :

CREATE APPLICATION my_app
  FROM LISTING
  USING RELEASE CHANNEL QA;
Copy

Si vous n’utilisez pas explicitement la clause USING RELEASE CHANNEL, c’est le canal de version DEFAULT qui est utilisé.