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.
À propos des canaux de version¶
Les canaux de version permettent aux fournisseurs de publier des applications dans différences zones de préparation du cycle de préparation des applications. Par exemple, un fournisseur peut utiliser les canaux de publication pour effectuer les tâches suivantes :
Tester une application.
Publier une application pour les consommateurs sous forme d’aperçu ou pour les UAT (tests d’acceptation par l’utilisateur).
Publier l’application dans un environnement de production.
Les fournisseurs activent les canaux de version sur le paquet d’application. Grâce aux canaux de version, un fournisseur peut créer plus de deux versions d’une application. La limite de deux versions s’applique à chaque canal de version et non à chaque paquet d’application.
Canaux de version pris en charge¶
Snowflake Native App Framework prend en charge les canaux de version suivants. Le canal de version utilisé par un fournisseur dépend de la zone de préparation du cycle de développement de l’application.
QA : Les versions et les correctifs d’une application attribués à ce canal de version sont uniquement disponibles pour les consommateurs au sein de l’organisation du fournisseur. Les applications publiées à l’aide de ce canal de version doivent être ciblées sur un compte spécifique au sein de cette organisation.
Les fournisseurs peuvent utiliser ce canal de version pour effectuer des tests. Les applications publiées à l’aide du canal de version QA ne sont pas obligées d’exécuter l’analyse de sécurité automatisée.
ALPHA : Les versions et les correctifs d’une application attribués à ce canal de version peuvent être publiés à l’intention des consommateurs en dehors de l’organisation du fournisseur. Lorsqu’une application est affectée à ce canal de version, l’analyse de sécurité automatisée est effectuée.
Pendant que l’analyse de sécurité est en cours, le fournisseur peut définir la directive de cette version, et les consommateurs peuvent l’installer dans leur compte. Toutefois, si une version attribuée à ce canal de version échoue à l’analyse de sécurité, elle ne peut plus être utilisée.
Les fournisseurs peuvent utiliser ce canal pour collaborer avec les consommateurs pendant le développement d’une application.
DEFAULT : Les versions et les correctifs d’une application attribués à ce canal de version sont disponibles pour tous les consommateurs qui ont accès à la version ou au correctif de l’application. Les applications affectées à ce canal de version doivent réussir l’analyse de sécurité automatisée.
Ce canal de version est le canal de version de production. Toutes les applications affectées à ce canal de version doivent être conformes aux exigences de sécurité et aux directives relatives à la publication d’une application. Pour plus d’informations, voir Exigences et directives de sécurité pour 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.¶
Pour utiliser les canaux de diffusion afin de gérer et de publier une application, les fournisseurs doivent activer les canaux de diffusion à l’aide de la clause ENABLE_RELEASE_CHANNELS du paquet d’application, comme le montrent les commandes suivantes :
CREATE APPLICATION PACKAGE my_app_package ENABLE_RELEASE_CHANNELS=TRUE;
ALTER APPLICATION PACKAGE my_app_package SET ENABLE_RELEASE_CHANNELS=TRUE;
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);
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);
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);
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;
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>;
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';
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;
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;
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;
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;
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);
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;
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;
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;
Si vous n’utilisez pas explicitement la clause USING RELEASE CHANNEL
, c’est le canal de version DEFAULT qui est utilisé.