Créer des versions et des correctifs pour une application¶
Cette rubrique explique comment ajouter des versions et des correctifs à un paquet d’application.
Pour obtenir des informations générales sur les versions et les correctifs et sur la manière dont ils sont utilisés pour mettre à jour et mettre à niveau une application, consultez le site À propos des versions et des correctifs de l’application.
Ajouter une version ou un correctif à un paquet d’application¶
La version et les correctifs d’une application sont définis dans le paquet d’application.
Après avoir ajouté une version ou un correctif à un paquet d’application, les fournisseurs peuvent tester les modifications localement en créant un objet d’application basé sur la version ou le correctif.
Pour plus d’informations, voir Créer un objet d’application à partir d’une version ou d’un niveau de correctif.
Privilèges nécessaires pour ajouter ou supprimer des versions et des correctifs¶
Pour spécifier une version ou un correctif pour un paquet d’application, vous devez disposer de l’un des privilèges suivants accordés à votre rôle sur le paquet d’application :
OWNERSHIP
MANAGE VERSIONS
Par exemple, pour accorder le privilège MANAGE VERSION sur le paquet d’application au rôle release_mgr
, utilisez la commande GRANT <privilèges> comme indiqué dans l’exemple suivant :
GRANT MANAGE VERSIONS ON APPLICATION PACKAGE hello_snowflake_package
TO ROLE release_mgr;
Ajouter une version à un paquet d’application¶
Pour ajouter une version au paquet d’application en utilisant SQL, exécutez la commande ALTER APPLICATION PACKAGE :
ALTER APPLICATION PACKAGE MyAppPackage
ADD VERSION v1
USING '@dev_stage/v1'
LABEL = 'MyApp Version 1.0';
Dans cet exemple, v1
est un identificateur de la version. Cet identificateur n’est pas visible par les consommateurs lorsqu’ils installent l’application. Le consommateur voit les informations relatives à la version, telles que définies dans la clause LABEL.
Prudence
Seules deux versions d’une application peuvent exister en même temps. Pour plus d’informations, voir À propos des versions et des correctifs de l’application.
Vous pouvez définir le nom de la version et la balise dans le fichier manifest.yml
ou les spécifier directement avec la commande ALTER APPLICATION PACKAGE. Si vous les définissez dans le fichier manifest.yml
ainsi qu’avec la commande SQL, les valeurs spécifiées dans la commande SQL ont la priorité sur les valeurs spécifiées dans le fichier manifest.yml
.
Ajouter un correctif à un paquet d’application¶
En plus de créer des versions pour une application, vous pouvez également créer des correctifs pour une version spécifique. Comme les versions, les correctifs d’application ont également leurs propres fichiers d’application.
Pour créer un nouveau correctif pour un paquet d’application, utilisez la clause ADD PATCH FOR VERSION de la commande ALTER APPLICATION PACKAGE … VERSION , comme indiqué dans l’exemple suivant :
ALTER APPLICATION PACKAGE MyAppPackage
ADD PATCH FOR VERSION V1_0
USING '@dev_stage/v1_0_p1;
Dans l’exemple, aucun numéro de correctif n’est fourni à la clause ADD PATCH FOR VERSION V1_0. Dans ce cas, Snowflake incrémente automatiquement le numéro de correctif de 1.
Pour créer un nouveau correctif pour un paquet d’application avec un numéro de correctif personnalisé, fournissez un numéro de correctif à la clause ADD PATCH FOR VERSION de la commande ALTER APPLICATION PACKAGE … VERSION, comme indiqué dans l’exemple suivant :
ALTER APPLICATION PACKAGE MyAppPackage
ADD PATCH 3
FOR VERSION V1_0
USING '@dev_stage/v1_p1;
Afficher les versions et les correctifs d’un paquet d’application¶
En tant que fournisseur, vous pouvez voir les versions et les correctifs définis pour une application en exécutant la commande SHOW VERSIONS sur le paquet d’application.
La commande suivante affiche les versions et les correctifs qui ont été définis pour un paquet d’application nommé hello_snowflake_package
:
SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
Supprimer une version d’un paquet d’application¶
Pour supprimer une version d’un paquet d’application, vous devez vérifier qu’il n’existe pas de directives de version pointant actuellement vers la version à supprimer.
Voir Afficher les directives de version d’un paquet d’application pour des informations sur la vue des directives de version.
Pour supprimer une version d’un paquet d’application, utilisez la clause DROP VERSION de la commande ALTER APPLICATION PACKAGE comme indiqué dans l’exemple suivant :
ALTER APPLICATION PACKAGE hello_snowflake_package
DROP VERSION v1_0;
Après l’exécution de cette commande, la version n’est pas supprimée tant que toutes les instances installées de l’application n’ont pas été supprimées. Pour vérifier le statut de la commande de suppression, utilisez la commande SHOW VERSIONS comme indiqué dans l’exemple suivant :
SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
La colonne dropped_on
indique l’horodatage du lancement de la suppression.
Note
La version supprimée n’apparaît dans la sortie de cette commande que si le statut est DROPPED
. Lorsque toutes les instances installées de l’application sont supprimées, la version supprimée n’apparaît plus.
Lorsqu’une version est supprimée, les consommateurs ne peuvent plus installer de nouvelles instances de cette version de l’application.
Selon la manière dont l’application est publiée auprès des consommateurs, la suppression de la version peut prendre plus ou moins de temps :
Si le paquet d’application n’a pas été publié auprès des consommateurs, la version est immédiatement supprimée.
Si le paquet d’application a été publié sous forme d’annonce publique ou privée dans une seule région, la version est immédiatement supprimée.
Si le paquet d’application est publié sous forme de produit de données d’une annonce partagée dans la même région que celle du paquet d’application, la version est supprimée en l’espace de quelques heures.
Si le paquet d’application est publié sous forme de produit de données d’une annonce via Exécution automatique inter-Cloud, il faudra peut-être plus de temps pour que la version soit supprimée dans toutes les régions.