Création et installation de votre application¶
Conditions préalables¶
Vous devez avoir une connexion existante dans votre fichier
config.toml
.Vous devez avoir un fichier
snowflake.yml
dans votre projet d’application native.
Comment créer un paquet d’application et un objet d’application ensemble ?¶
La commande snow app run rassemble tous les différents fichiers de code, crée un paquet d’application, télécharge le code vers une zone de préparation de Snowflake dans ce paquet d’application, valide le SQL du script d’installation et installe ou met à niveau une application dans le même compte à partir de ce paquet d’application. Cette commande est pilotée par les valeurs spécifiées dans la définition de votre projet résolu pour déterminer la zone de préparation vers laquelle télécharger les fichiers, les fichiers à télécharger et les noms des objets à créer.
Pour créer un objet d’application, procédez comme suit :
Créez une connexion, si nécessaire.
Apportez les modifications nécessaires à vos fichiers de code, y compris
snowflake.yml
,manifest.yml
, tous les scripts d’installation et les fichiers de code d’extension.Exécutez la commande
snow app run
à partir de votre projet, comme suit :snow app run --connection="dev"
En cas de succès, la commande affiche un message similaire au suivant :
Your application ("my_app_admin") is now live: https://app.snowflake.com/data_org/data_acct/#/apps/application/my_app_admin
L’utilisation de la commande snow app run --connection="dev"
crée une application utilisant les fichiers sur une zone de préparation nommée qui est automatiquement gérée par Snowflake CLI. Vous pouvez également utiliser la commande pour créer ou mettre à jour votre application même si votre paquet d’application existe déjà. Dans ce cas, la commande émet un UPGRADE sur votre objet d’application, qui exécutera votre script d’installation. Pour obtenir des informations sur la manière d’éviter de réexécuter le script d’installation, reportez-vous à la section suivante.
Pour créer une application à l’aide d’une version (et d’un correctif) d’un paquet d’application existant, exécutez la procédure suivante :
snow app run --version v1 --patch 12 --connection="dev"
Ici, la version V1
et le correctif 12
sont utilisés à titre d’exemple uniquement. Pour plus d’informations sur la création d’objets Snowflake Native App, voir la commande snow app run.
Comment créer un paquet d’application¶
La commande snow app deploy
exécute un sous-ensemble des étapes snow app run
nécessaires pour déployer votre code sur Snowflake. Bien qu’elle rassemble les différents fichiers de code, crée un paquet d’application et télécharge le code dans une zone de préparation nommée de ce paquet d’application, et valide le SQL du script d’installation, la commande snow app deploy
ne tente pas de créer ou de mettre à niveau un objet de l’application.
La commande snow app deploy
est particulièrement utile dans les situations suivantes :
Déployer uniquement le paquet d’application et les fichiers de zone de préparation, pour les situations où un objet de l’application n’est pas nécessaire (comme dans le cadre d’un pipeline de livraison continue).
Mettre en zone de préparation des fichiers liés à l’objet de l’application. Par exemple, si vous n’avez modifié que des fichiers de code python, vous n’avez pas besoin de recréer les objets PROCEDURE, FUNCTION, et STREAMLIT qui pointent vers eux lors de l’utilisation du mode de développement de la zone de préparation. Cette approche permet de gagner du temps et de réduire les coûts, car vous n’avez pas besoin d’utiliser un entrepôt pour réexécuter le script d’installation afin d’utiliser le code python mis à jour.
Pour créer un paquet d’application sans objet d’application correspondant, procédez comme suit :
Créez une connexion, si nécessaire.
Apportez les modifications nécessaires à vos fichiers de code, y compris
snowflake.yml
,manifest.yml
, tous les scripts d’installation et les fichiers de code d’extension.Exécutez la commande
snow app deploy
à partir de votre projet, comme suit :snow app deploy --connection="dev"
En cas de succès, la commande affiche un message similaire au suivant :
Checking if stage exists, or creating a new one if none exists. Performing a diff between the Snowflake stage and your local deploy_root ... Deployed successfully. Application package and stage are up-to-date.
Vous pouvez également utiliser la commande snow app deploy
pour restreindre les fichiers qu’elle synchronise avec une zone de préparation en listant les chemins comme arguments de position après la commande snow app deploy
. Pour plus d’informations sur cette fonctionnalité et d’autres fonctions avancées, consultez la commande snow app deploy.