Configurer Snowflake CLI pour développer une application

Ce chapitre décrit comment les fournisseurs installent et utilisent le Snowflake CLI pour le développement et la gestion des Snowflake Native Apps. Snowflake CLI est un outil de ligne de commande open-source explicitement conçu pour les charges de travail centrées sur les développeurs, en plus des opérations SQL.

Installer et configurer Snowflake CLI

Pour installer et configurer le Snowflake CLI, procédez comme suit :

  1. Installer le Snowflake CLI correspondant à votre système d’exploitation.

    Pour plus d’informations, voir Installation de Snowflake CLI.

  2. Configurez une connexion à votre compte Snowflake.

    Pour plus d’informations, voir Configuration de Snowflake CLI.

À propos des projets et des modèles d’application Snowflake CLI

Lorsque vous utilisez le Snowflake CLI pour développer votre Snowflake Native App, vous travaillez dans un projet. Un projet est un répertoire qui contient tous les fichiers et répertoires nécessaires à votre Snowflake Native App. Comme d’autres référentiels de code, ces fichiers peuvent être contrôlés par version à l’aide de technologies comme Git et partagés sur des plateformes comme Github.

Snowflake fournit des modèles d’applications que vous pouvez utiliser pour configurer votre projet. Ces modèles sont disponibles dans le référentiel GitHub snowflake-cli-templates.

Les modèles disponibles sont les suivants :

Modèle

Description

app_basic

Un modèle de base qui comprend les fichiers et répertoires essentiels pour votre application.

app_streamlit_java

Un modèle qui comprend les fichiers et répertoires essentiels nécessaires à votre application, le code d’extension Java et un exemple d’application Streamlit.

app_streamlit_js

Un modèle qui comprend les fichiers et répertoires essentiels à votre application, le code d’extension JavaScript et un exemple d’application Streamlit.

app_streamlit_python

Un modèle qui comprend les fichiers et répertoires essentiels à votre application, le code d’extension Python et un exemple d’application Streamlit.

Configurer un nouveau projet pour votre Snowflake Native App

Pour configurer un nouveau projet pour votre Snowflake Native App, procédez comme suit :

  1. Exécutez la commande init pour créer un nouveau projet :

    snow init --template <template_name> <project_name>
    
    Copy
  2. Saisissez une valeur pour l’identificateur du projet.

    Cette valeur est utilisée comme nom de base pour les composants d’application que Snowflake CLI crée, y compris le paquet d’application. Vous pouvez modifier ou remplacer cette valeur ultérieurement dans le fichier de définition du projet.

Après avoir exécuté cette commande, un nouveau répertoire nommé <project_name> est créé dans le répertoire où vous avez exécuté la commande. Ce répertoire contient les fichiers et répertoires nécessaires à votre Snowflake Native App avec la structure de répertoire suivante :

<project_name>/
├── app/
 ├── manifest.yml
 ├── README.md
 ├── setup_script.sql
├── README.md
├── snowflake.yml
Copy

Les dossiers et fichiers de ce répertoire sont décrits dans le tableau suivant :

Fichier/répertoire

Description

app/

Ce répertoire contient le code de l’application et les ressources de votre application. Vous pouvez modifier ou ajouter des fichiers dans ce répertoire selon vos besoins.

app/manifest.yml

Ce fichier définit les métadonnées et la configuration de votre application, y compris le nom, la version, la description et les ressources de l’application. Pour plus d’informations, voir Créer le fichier manifeste pour une application.

app/README.md

Ce fichier fournit une vue d’ensemble de votre application et des instructions pour l’utiliser. Il s’agit du fichier README qui est affiché dans Snowflake Marketplace.

app/setup_script.sql

Ce script SQL est exécuté lors de l’installation de l’application. Vous pouvez modifier ce script pour y inclure toutes les étapes de configuration nécessaires à votre application. Pour plus d’informations, voir Create the setup script

README.md

Ce fichier fournit une vue d’ensemble du projet et des instructions pour utiliser le Snowflake CLI avec votre application.

snowflake.yml

Il s’agit du fichier de définition du projet qui décrit les objets qui peuvent être déployés dans Snowflake. Vous devez modifier ce fichier pour définir les ressources qui font partie de votre application.

Créer le fichier de définition du projet

Le Snowflake CLI utilise un fichier de définition de projet pour décrire les objets qui peuvent être déployés sur Snowflake. Ce fichier doit être nommé snowflake.yml. Ce fichier détermine le nom du paquet d’application et spécifie les ressources qui font partie de votre Snowflake Native App.

Pour plus d’informations sur le fichier de définition de projet, voir Fichiers de définition de projet.

Voici un exemple de fichier snowflake.yml simple utilisé pour une Snowflake Native App :

definition_version: 2
entities:
  hello_snowflake_package:
    type: application package
    stage: stage_content.hello_snowflake_stage
    manifest: app/manifest.yml
    identifier: hello_snowflake_package
    artifacts:
       - src: app/*
         dest: ./
  hello_snowflake_app:
    type: application
    from:
       target: hello_snowflake_package
    debug: false
Copy

Le tableau suivant décrit les champs de cet exemple :

Champ

Description

definition_version

La version du format du fichier de définition de projet. La version actuelle est la 2.

entities

Une liste des entités qui font partie du projet. Chaque entité possède un identificateur unique et un type.

hello_snowflake_package

Identificateur de l’entité du paquet d’application. Ce nom est utilisé comme nom de base pour les composants d’application que Snowflake CLI crée, y compris le paquet d’application.

type

Le type d’entité. Dans le cas présent, il s’agit d’un application package.

stage

Zone de préparation où le paquet d’application est stocké.

manifest

Chemin d’accès au fichier manifeste qui définit les métadonnées et la configuration de votre application.

identifier

Identificateur de l’entité du paquet d’application. Ce nom est utilisé comme nom de base pour les composants d’application que Snowflake CLI crée, y compris le paquet d’application.

artifacts

Une liste des fichiers et des répertoires inclus dans le paquet d’application. Chaque artefact a une source (src) et une destination (dest).

hello_snowflake_app

Identificateur de l’entité d’application.

from

Spécifie la source de l’application. Dans ce cas, elle est créée à partir du paquet d’application hello_snowflake_package.

debug

Une valeur booléenne qui indique si le mode débogage est activé pour l’application.

Développer votre Snowflake Native App

Après avoir configuré votre projet et créé le fichier de définition de projet, vous pouvez commencer à développer votre Snowflake Native App en créant le paquet d’application et en modifiant le fichier manifeste et le script d’installation.

Pour plus d’informations, consultez les rubriques suivantes :