Paquets d’application dans le partage déclaratif du framework des applications natives

En tant que fournisseur, vous créez un paquet d’application pour regrouper votre contenu de données et vos notebooks dans une Declarative Native App. Cette rubrique explique ce qu’est un paquet d’application et décrit les étapes de haut niveau pour en créer un, de la création du paquet initial à l’ajout de vos fichiers manifestes et de notebook.

Le paquet d’application et la version active

Le paquet d’application est un conteneur pour tous les fichiers qui composent l’application, y compris le fichier manifeste fichier et tout Snowflake Notebook. Lorsque vous créez un paquet d’application, une version active (en zone de préparation) du paquet d’application est également créée. La version active est un espace de travail de développement dans lequel vous pouvez ajouter ou mettre à jour des fichiers, tels que le fichier manifeste et les fichiers de notebook, puis prévisualiser et tester l’expérience avant la publication.

Une fois que vous êtes satisfait de la version active de l’application, vous pouvez valider cette version pour créer une nouvelle version immuable du paquet d’application, que vous pouvez ensuite publier.

L’utilisation de la version active pour le développement simplifie la gestion des versions en conservant une seule version immuable du paquet d’application qui est prête à être publiée, et une seule version active pour le développement. Le Snowflake Native App Framework gère automatiquement la gestion des versions du paquet d’application, de sorte que vous n’avez pas besoin de suivre manuellement les numéros de version.

Le Snowflake Native App Framework conserve automatiquement une version active pour tout paquet d’application. Même si vous supprimez la version active, une nouvelle version active est créée automatiquement à partir de la dernière version validée du paquet d’application.

Création d’un paquet d’application

Les fournisseurs développent et testent un paquet d’application Un paquet d’application comprend les fichiers nécessaires au partage des données dans l’application, et définit la manière d’accéder aux données pour les consommateurs.

Ce processus comprend les étapes suivantes :

  1. Créer un fichier de paquet d’application (première fois uniquement) : crée un fichier de paquet d’application qui sera publié ultérieurement. Cette opération crée également la version active du paquet d’application.

  2. Ajouter du contenu au paquet d’application :

    1. Créer ou mettre à jour un fichier manifeste : Ce fichier décrit le paquet d’application et son contenu.

    2. **Télécharger des fichiers notebook **. Si les notebooks doivent être inclus, téléchargez une copie à inclure dans le paquet d’application.

    3. Ajouter les fichiers à la version active du paquet d’application.

  3. Créer le paquet d’application : permet de vérifier que le fichier manifeste est valide et que tous les liens du fichier manifeste sont corrects.

  4. Tester l’application. Installer l’application et la tester. Apporter des modifications et reconstruire.

  5. ** Valider le paquet d’application ** : crée une nouvelle version immuable de l’application qui peut être publiée.

  6. Publier le paquet d’application Avec un paquet publié, vous pouvez créer une nouvelle annonce, soit en privé, soit en public, sur la Snowflake Marketplace.

Ce processus est décrit dans Tutoriel : Premiers pas avec Declarative Native Apps. Cette section inclut des détails supplémentaires sur les options disponibles aux différentes étapes du développement.

Schéma montrant les étapes de la création d'un paquet d'application : Ajouter un paquet actif, un build, une validation et une version. Le diagramme montre également les étapes facultatives pouvant être ignorées pour construire, valider et publier une version active en même temps.

Créer un nouveau paquet d’application

Créer un paquet Declarative Native App en utilisant la commande : CREATE APPLICATION PACKAGE … TYPE=DATA :

CREATE APPLICATION PACKAGE DECL_SHARE_APP_PKG TYPE = DATA;
Copy

Le nouveau paquet d’application vide est créé. Cette opération permet également de créer une version active du paquet d’application que vous pouvez modifier.

Ajouter du contenu au paquet d’application

Incluez les contenus suivants dans le paquet d’application :

  • Un fichier manifeste (obligatoire) : un fichier de texte qui définit la structure de l’application.

  • Fichiers Snowflake Notebook (facultatif) : fichier basé sur du texte qui peut servir de front-end à l’expérience du consommateur, en référençant les vues et les tables partagées. Ils peuvent également inclure du code, des visualisations de référence et une logique pour aider à présenter les données.

Diagramme des composants du paquet d’application

Créer ou mettre à jour un fichier manifeste

Les fournisseurs créent ou mettent à jour un fichier manifeste, qui décrit le paquet d’application et son contenu partagé, par exemple, les notebooks, les tables et les vues. Cela définit d’autres métadonnées, telles que les rôles d’application inclus dans l’application.

Le fichier manifeste doit être nommé manifest.yml, et doit être ajouté au niveau racine du paquet d’application.

Pour plus d’informations, voir Référence du manifeste d’une Declarative Native App. Le Tutoriel : Premiers pas avec Declarative Native Apps asssocié comprend un exemple de fichier manifeste.

Obtenir des fichiers notebook

Si les Snowflake Notebooks doivent être incluses dans l’application, téléchargez une copie du fichier notebook afin de pouvoir l’inclure dans le paquet d’application.

Depuis Snowsight :

  1. Dans le menu de navigation, sélectionnez. Projects » Notebooks, puis sélectionnez le notebook que vous souhaitez télécharger.

  2. Dans le volet de gauche, à côté de votre notebook, sélectionnez » Download.

Le fichier est téléchargé sur votre machine locale, sous la forme d’un fichier nommé <notebook_name>.ipynb.

Note

L’environnement du notebook dispose d’un ensemble de packages Anaconda préinstallés, dont Python et Streamlit. Si votre notebook utilise des packages Anaconda supplémentaires, vous devez les ajouter en tant que packages à votre notebook afin qu’ils puissent être utilisés dans l’environnement du consommateur. Pour obtenir des informations sur la manière d’ajouter des packages Anaconda à votre notebook, consultez Ajouter des packages Anaconda à un notebook.

Ajouter les fichiers à la version active

Ajoutez des fichiers et accédez-y à l’aide des commandes SQL depuis Snowflake CLI, en utilisant le schéma snow://package/<package_name>/versions/LIVE/ URL. Exemples :

  • Ajouter un fichier au paquet d’application :

    snow sql -q "PUT file:////Users/test_user/Documents/manifest.yml  snow://package/DECL_SHARE_APP_PKG/versions/LIVE/ OVERWRITE=TRUE AUTO_COMPRESS=false;"
    
    snow sql -q "PUT file:////Users/test_user/Documents/NOTEBOOK.ipynb  snow://package/DECL_SHARE_APP_PKG/versions/LIVE/ OVERWRITE=TRUE AUTO_COMPRESS=false;"
    
    Copy
  • Vérifier que les fichiers se trouvent dans le paquet d’application :

    snow sql -q "LIST snow://package/DECL_SHARE_APP_PKG/versions/LIVE"
    
    Copy
    +--------------------------------------------------------------------------------+
    | name                          | size | md5     | last_modified                 |
    |-------------------------------+------+---------+-------------------------------|
    | /versions/live/manifest.yml   | 304  | 843a... | Wed, 23 Jul 2025 08:27:26 GMT |
    | /versions/live/NOTEBOOK.ipynb | 832  | b014... | Wed, 23 Jul 2025 04:32:22 GMT |
    +--------------------------------------------------------------------------------+
    
  • Télécharger un fichier à partir du paquet d’application :

    snow sql -q "GET snow://package/<package_name>/versions/LIVE/manifest.yml file://manifest.yml"
    
    Copy
  • Supprimer le contenu du paquet d’application :

    snow sql -q "RM snow://package/<package_name>/versions/LIVE/manifest.yml"
    
    Copy

Tester le paquet d’application

Créez une version testable de l’application (et vérifiez que le fichier manifeste est valide et que tous les liens fonctionnent) avec la commande : ALTER APPLICATION PACKAGE … BUILD.

ALTER APPLICATION PACKAGE DECL_SHARE_APP_PKG BUILD;
Copy

S’il y a des erreurs dans le fichier manifeste, la version échoue et donne des informations sur la façon de corriger l’erreur. Corrigez ces erreurs et reconstruisez le paquet d’application.

L’application créée reste en état actif et vous pouvez continuer à apporter des modifications au paquet d’application.

À ignorer !

Pour les mises à jour qui ne nécessitent pas de tests supplémentaires, vous pouvez ignorer des étapes en construisant, en validant et en publiant un paquet d’application en une seule fois à l’aide de la commande ALTER APPLICATION PACKAGE … RELEASE LIVE VERSION.

ALTER APPLICATION PACKAGE DECL_SHARE_APP_PKG RELEASE LIVE VERSION;
Copy

Tester l’application

Après avoir construit le paquet d’application, les fournisseurs peuvent effectuer des tests de base à partir de l’environnement actif.

Installez l’application à partir d’un paquet d’application à l’aide de la commande : CREATE APPLICATION … FROM APPLICATION PACKAGE. Par exemple :

CREATE APPLICATION DECL_SHARE_APP FROM APPLICATION PACKAGE DECL_SHARE_APP_PKG
Copy

Mettez à jour les fichiers dans le paquet d’application si nécessaire, et voyez si cela a fonctionné en utilisant la commande : ALTER APPLICATION PACKAGE … UPGRADE USING VERSION LIVE.

ALTER APPLICATION PACKAGE DECL_SHARE_APP_PKG UPGRADE USING VERSION LIVE;
Copy

Pour tester certaines fonctionnalités, telles que les rôles d’application, vous devez d’abord publier une nouvelle version du paquet d’application, puis le tester en utilisant un compte de consommateur séparé. Pour plus d’informations, voir Installer une Declarative Native App et Accéder au contenu d’une Declarative Native App.

En option : Réinitialiser les modifications sur une version active

Si les modifications apportées à la version active du paquet d’application ne sont plus nécessaires, vous pouvez réinitialiser le paquet d’application à l’état antérieur aux modifications apportées à l’aide de la commande : ALTER APPLICATION PACKAGE … ABORT LIVE VERSION

ALTER APPLICATION PACKAGE <package_name> ABORT LIVE VERSION;
Copy

Lorsque vous utilisez la commande précédente pour supprimer la version active actuelle, une nouvelle version active est créée avec le même contenu que la dernière version validée du paquet d’application. La version active est réinitialisée sur la dernière version validée et toutes les modifications apportées à la version active sont ignorées.

Valider le paquet d’application

Les fournisseurs créent une nouvelle version immuable de l’application qui ne peut pas être modifiée et qui est prête à être publiée.

Utilisez la commande ALTER APPLICATION PACKAGE :

ALTER APPLICATION PACKAGE <package_name> COMMIT;
Copy

La version active du paquet d’application est supprimée. Une nouvelle version active du paquet d’application est créée à partir de la nouvelle version validée pour un développement ultérieur.

Publier le paquet d’application

Publiez le paquet d’application avec la commande ALTER APPLICATION PACKAGE … RELEASE ou ALTER APPLICATION PACKAGE … RELEASE LIVE VERSION :

  • Publier un paquet d’application validé :

    ALTER APPLICATION PACKAGE <package_name> RELEASE;
    
    Copy
  • Créez, validez et publiez une version active du paquet d’application :

    ALTER APPLICATION PACKAGE <package_name> RELEASE LIVE VERSION;
    
    Copy

La version du paquet d’application fait ce qui suit :

  • Crée une application validée prête à être partagée avec des consommateurs.

  • Si le fournisseur a déjà partagé l’application avec des consommateurs, la nouvelle version est automatiquement disponible pour ces consommateurs.

  • S’il existe déjà une version active de l’application sur la Snowflake Marketplace, la nouvelle version est automatiquement disponible pour les consommateurs qui ont installé l’application.

Après avoir publié le paquet d’application, vous pouvez créer une nouvelle annonce pour l’application, soit en privé, soit en public sur la Snowflake Marketplace. Pour plus d’informations, voir Création d’une annonce à l’aide du partage déclaratif.