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

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

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

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

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

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

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

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.