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 générales pour en créer un, depuis la création du paquet initial jusqu’à l’ajout de vos fichiers manifeste et 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 et tout notebook Snowflake. 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 (app). 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 projet de paquet d’application (première fois uniquement) : crée un projet 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 : vous 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

Tout d’abord, créez un nouveau paquet d’Declarative Native App pour contenir les fichiers de l’application, via l’Snowsight ou les commandes SQL de Snowflake CLI, en utilisant le schéma d’URL snow://paquet/<DECL_SHARE_APP_PKG>/versions/LIVE/.

Pour utiliser l’Snowsight pour créer un nouveau paquet d’application, procédez comme suit :

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez Projects » App Packages.

  3. Dans la carte Share Data + Code, sélectionnez Create.

  4. Saisissez un nom pour votre paquet d’application, puis sélectionnez Create.

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.

Compiler le contenu du paquet d’application

Un paquet d’application comprend les éléments suivants :

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

  • Fichiers notebook Snowflake (facultatif) : Un ou plusieurs fichiers texte qui peuvent 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

Vous pouvez créer ou mettre à 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.

Créer ou mettre à jour un fichier manifeste à partir d’un partage de données Snowflake

Note

Le contenu suivant n’est pas pris en charge par Snowflake. L’ensemble du code est fourni « AS IS » et sans garantie.

Si vous disposez d’un partage de données existant dans Snowflake, vous pouvez créer automatiquement un fichier manifeste à l’aide de l’outil open-source Manifeste du partage. Cet outil fourni par Snowflake génère un fichier manifeste basé sur les objets d’un partage spécifié. L’outil comprend également des options pour personnaliser le fichier manifeste généré. Vous pouvez utiliser cet outil des manières suivantes :

  • Générez un fichier manifeste à l’aide de l’interface de ligne de commande (CLI).

  • Intégrez l’outil dans un flux de travail d’automatisation Python existant en tant que bibliothèque.

Pour plus d’informations sur la manière de télécharger et d’utiliser l’outil, voir le référentiel Manifeste Snowflake du partage sur GitHub.

Note

L’outil Manifeste du partage crée uniquement le fichier manifeste en utilisant les bases de données, les schémas, les tables et les vues du partage de données. L’outil n’inclut aucun autre objet dans le fichier manifeste généré.

Obtenir des fichiers notebook

Si les notebooks Snowflake doivent être inclus dans l’application, téléchargez une copie de chaque 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 des fichiers à la version active

Ajoutez les fichiers manifeste et notebook à la version active du paquet d’application :

Pour utiliser l’Snowsight pour alimenter le paquet d’application, procédez comme suit :

  1. Si vous ne voyez pas déjà l’annonce du paquet d’application, dans le menu de navigation, sélectionnez Projects » App Packages, puis sélectionnez le paquet d’application auquel vous souhaitez ajouter des fichiers.

  2. Sélectionnez Upload files. (Si vous voulez remplacer ou ajouter des fichiers supplémentaires, sélectionnez Manage files, puis sélectionnez Upload files.)

  3. Faites glisser les fichiers notebook et le fichier manifeste depuis votre disque dur vers la boîte de dialogue Upload files à l’endroit indiqué, ou sélectionnez Browse pour localiser et sélectionner les fichiers.

  4. Sélectionnez Upload pour télécharger les fichiers vers la zone de préparation active et déclencher une version.

Télécharger un fichier à partir du paquet d’application

Vous pouvez télécharger un fichier à partir du paquet d’application en utilisant la commande SQL GET dans Snowflake CLI :

snow sql -q "GET snow://package/<DECL_SHARE_APP_PKG>/versions/LIVE/manifest.yml file://manifest.yml"
Copy

Supprimer le contenu du paquet d’application

Vous pouvez supprimer des fichiers du paquet d’application.

Utilisation de Snowsight :

  1. Si vous ne voyez pas déjà l’annonce du paquet d’application, dans le menu de navigation, sélectionnez Projects » App Packages, puis sélectionnez le paquet d’application dans lequel vous souhaitez supprimer des fichiers.

  2. Sélectionnez Manage files » Remove files.

  3. Sélectionnez le(s) fichier(s) que vous souhaitez supprimer, puis sélectionnez Delete.

  4. Dans la boîte de dialogue Remove files, choisissez les fichiers à supprimer, puis sélectionnez Remove & build.

Tester le paquet d’application

Ensuite, créez une version testable de l’application.

Dans l’Snowsight :

  • Lorsque vous chargez un ensemble complet de fichiers vers le paquet d’application, une version démarre automatiquement.

  • Pour créer une version à tout autre moment, cliquez sur le bouton Créer sur la page du paquet d’application.

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 les erreurs et recréez 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 certaines étapes en créant, validant et 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 créé le paquet d’application, vous pouvez y 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, en remplaçant <DECL_SHARE_APP> par le nom de l’application. 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, puis vérifiez que l’opération a fonctionné à l’aide de 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 tester celle-ci 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 <DECL_SHARE_APP_PKG> 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 et publier le paquet d‘application

La validation du paquet d’application permet de créer une nouvelle version immuable de l’application, qui ne peut pas être modifiée et qui est prête à être publiée. La publication du paquet d’application permet d’effectuer les opérations suivantes :

  • 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.

Pour utiliser l’Snowsight pour valider et publier le paquet d’application, procédez comme suit :

  1. Si vous ne voyez pas déjà l’annonce du paquet d’application, dans le menu de navigation, sélectionnez Projects » App Packages, puis sélectionnez le paquet d’application que vous souhaitez publier.

  2. Sélectionnez Commit & release.

  3. Dans la boîte de dialogue de confirmation, sélectionnez Acknowledge & continue.

Le paquet d’application validé est publié, et 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.

Une fois que vous avez validé et publié le paquet d’application, l’onglet Latest release affiche le contenu de la version, qui est identique à celui de la dernière version.

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.