Lancer un projet à partir d’un modèle¶
Pour vous permettre d’instancier plus facilement des projets, Snowflake CLI implémente la création de modèles de projet. Vous pouvez créer vos propres modèles de projets ou utiliser les échantillons fournis par Snowflake dans le référentiel public Git de modèles de CLI Snowflake.
La commande snow init crée un répertoire de projet et le remplit avec la structure de fichiers définie dans le modèle spécifié.
Si vous ne fournissez pas l’option
--no-interactive, la commande invite pour chaque variable spécifiée par le modèle (template.yml) que vous ne fournissez pas avec l’option-D(ou--variable).Si vous fournissez l’option
--no-interactive, la commande utilise les valeurs par défaut des variables (définies par le modèle). Si le modèle ne définit pas de valeur par défaut pour une variable et que vous n’utilisez pas l’option-Dpour la fournir, la commande fournit une erreur.
La commande snow init utilise la syntaxe suivante :
où :
PATHest un nouveau répertoire où la commande initialise le projet. Si vous spécifiez un répertoire existant, la commande se termine avec une erreur.[--template-source SOURCE]est l’un des éléments suivants :Un chemin de fichier local du répertoire du modèle.
Une URL Git valide vers le répertoire contenant le modèle de projet. Si non spécifiée, la commande s’effectue par défaut pour le référentiel Git de modèles de CLI Snowflake.
[--template NAME]spécifie le sous-répertoire deSOURCEà utiliser comme modèle (utile pour les sources distantes). Si non fourni,SOURCEest traité comme un modèle unique.[-D key1=value1 -D key2=value2...]est une liste d’une ou plusieurs paires nom-valeur, fournissant des valeurs pour les variables définies dans le modèle (danstemplate.yml). La commande ne demande pas les variables que vous fournissez avec cette option.[--no-interactive]désactive les invites de saisie utilisateur. Si vous utilisez cette option, vous devez fournir toutes les valeurs requises avec les options[-D key1=value1 -D key2=value2...]; sinon, la commande fournit une erreur.
Pour plus d’informations, voir la référence de commande snow init.
Exemples¶
Initialisez le projet du modèle
example_snowparkà partir du référentiel par défaut :La commande invite les éléments suivants (les valeurs par défaut sont indiquées entre crochets) :
Initialisez le projet à partir du modèle local.
Dans cet exemple, les variables
query_warehouseetstagesont spécifiées avec l’option-D, donc la commande invite uniquement les éléments suivants :
Création de modèles personnalisés¶
Disposition du modèle¶
Un modèle de projet nécessite un fichier template.yml qui contient des données expliquant comment la commande snow init doit restituer le modèle. Si le fichier n’est pas présent dans le répertoire racine du modèle, snow init se termine par une erreur. Pour plus d’informations, consultez la syntaxe template.yml.
Syntaxe du modèle¶
Les variables et expressions de modèle doivent être placées dans <! ... !>. Snowflake CLI prend également en charge les expressions et filtres jinja2 de base, par exemple :
Les modèles de projet Snowflake CLI prennent également en charge la variable réservée et le filtre suivants :
La variable
project_dir_name, qui résout automatiquement le répertoire racine du projet créé.Par exemple, supposons que votre fichier
snowflake.ymlcontient les éléments suivants :Si vous exécutez ensuite la commande suivante pour initialiser le projet à partir de votre modèle personnalisé :
La commande
snow initaffiche le fichiersnowflake.ymlcomme suit :Le filtre
to_snowflake_identifier, qui formate les chaînes fournies par l’utilisateur en identificateurs Snowflake correctement formatés.Snowflake recommande fortement d’utiliser ce filtre lorsqu’une variable fait référence à un objet Snowflake.
Par exemple, supposons que votre fichier
snowflake.ymlcontient les éléments suivants :Si vous exécutez ensuite la commande suivante pour initialiser un projet à partir de votre modèle personnalisé :
La commande
snow initaffiche le fichiersnowflake.ymlcomme suit :Si une chaîne ne peut pas être convertie en identificateur Snowflake valide, la commande
snow initse termine par une erreur, comme indiqué :
À propos du fichier de modèle de projet template.yml¶
Le fichier de modèle de projet template.yml stocke toutes les données nécessaires au rendu du projet. Par exemple :
Le tableau suivant répertorie les propriétés d’un fichier de modèle de projet template.yml.
Propriété |
Définition |
|---|---|
optional, string (par défaut : None) |
Version minimale de Snowflake CLI. Si spécifiée, la commande |
optional, string list (par défaut : |
Liste des fichiers à afficher par la commande Note Les fichiers de modèles non inclus dans cette liste sont ajoutés au nouveau projet, mais leur contenu reste inchangé. |
optional, variable list (par défaut : |
Liste des variables de modèle. Prend en charge la personnalisation des invites, la fourniture de valeurs par défaut pour les variables facultatives et la vérification de type de base. Consultez le tableau Paramètres de propriété des variables ci-dessous pour plus de détails. Les valeurs des variables sont déterminées dans l’ordre à partir de cette liste. Si vous omettez une variable utilisée dans le fichier |
Le tableau suivant répertorie les paramètres d’une propriété de variable.
Propriété |
Définition |
|---|---|
required, string |
Nom de la variable. Il est utilisé dans les fichiers de modèles, tels que |
optional, string |
Invite à afficher à l’utilisateur pour obtenir une valeur. Si vous ne définissez pas ce paramètre, la commande affiche le nom du paramètre comme texte d’invite. Si vous définissez l’invite comme suit :
|
optional, string/int/float |
Default value of the variable. If not provided, the variable is treated as required, so a user needs to provide the value after a prompt or by specifying it with the L’exemple suivant définit deux variables avec des valeurs par défaut : Une fois exécutée, la commande Dans cet exemple, la commande utilise la valeur par défaut ( |
optional, string |
Type de données de la variable. Les valeurs valides incluent : L’exemple suivant définit une variable comme un type de données Une fois exécutée, la commande snow init affiche les erreurs suivantes si l’utilisateur entre une valeur du mauvais type de données : |