snow git execute¶
Exécution immédiate de tous les fichiers du chemin du référentiel. Les fichiers peuvent être filtrés avec un modèle de type glob, par exemple @my_repo/branches/main/*.sql
, @my_repo/branches/main/dev/*
. Seuls les fichiers portant l’extension .sql
ou .py
seront exécutés.
Syntaxe¶
snow git execute
<repository_path>
--on-error <on_error>
--variable <variables>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--format <format>
--verbose
--debug
--silent
Arguments¶
repository_path
Chemin d’accès à la zone de préparation du référentiel git avec le scope fourni. Le chemin vers la racine du référentiel doit se terminer par « / ». Par exemple : @my_repo/branches/main/.
Options¶
--on-error [break|continue]
Que faire en cas d’erreur ? La valeur par défaut est break. La valeur par défaut est : break.
--variable, -D TEXT
Variables pour le contexte d’exécution ; par exemple :
-D "<key>=<value>"
. Pour des fichiers SQL, les variables sont utilisées pour développer le modèle, et toute variable inconnue provoquera une erreur (pensez à intégrer des guillemets dans le fichier). Pour les fichiers Python, les variables sont utilisées pour mettre à jour le dictionnaire os.environ. Les clés fournies sont en majuscules pour respecter les meilleures pratiques. En cas de fichiers SQL, les valeurs des chaînes doivent être entre guillemets''
(pensez à intégrer des guillemets dans le fichier).--connection, -c, --environment TEXT
Nom de la connexion, tel que défini dans votre fichier
config.toml
. Défaut :défaut
.--host TEXT
Adresse de l’hôte pour la connexion. Remplace la valeur spécifiée pour la connexion.
--port INTEGER
Port pour la connexion. Remplace la valeur spécifiée pour la connexion.
--account, --accountname TEXT
Nom attribué à votre compte Snowflake. Remplace la valeur spécifiée pour la connexion.
--user, --username TEXT
Nom d’utilisateur pour se connecter à Snowflake. Remplace la valeur spécifiée pour la connexion.
--password TEXT
Mot de passe Snowflake. Remplace la valeur spécifiée pour la connexion.
--authenticator TEXT
Authentificateur Snowflake. Remplace la valeur spécifiée pour la connexion.
--private-key-file, --private-key-path TEXT
Chemin du fichier de clé privée Snowflake. Remplace la valeur spécifiée pour la connexion.
--token-file-path TEXT
Chemin vers un fichier avec un jeton OAuth qui doit être utilisé lors de la connexion à Snowflake.
--database, --dbname TEXT
Base de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--schema, --schemaname TEXT
Schéma de la base de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--role, --rolename TEXT
Rôle à utiliser. Remplace la valeur spécifiée pour la connexion.
--warehouse TEXT
Entrepôt à utiliser. Remplace la valeur spécifiée pour la connexion.
--temporary-connection, -x
Utilise la connexion définie avec les paramètres de la ligne de commande, au lieu de celle définie dans la configuration. Par défaut : false.
--mfa-passcode TEXT
Jeton à utiliser pour l’authentification multifactorielle (MFA)
--enable-diag
Exécutez le test de diagnostic du Python Connector. Par défaut : false.
--diag-log-path TEXT
Chemin d’accès au rapport de diagnostic. Par défaut : <temporary_directory>.
--diag-allowlist-path TEXT
Chemin d’accès au rapport de diagnostic vers la liste d’autorisations facultative.
--format [TABLE|JSON]
Spécifie le format de sortie. Par défaut : TABLE.
--verbose, -v
Affiche les entrées de journal pour les niveaux de journalisation
info
et supérieurs. Par défaut : false.--debug
Affiche les entrées de journal pour les niveaux de journalisation
debug
et supérieurs ; les journaux de débogage contiennent des informations supplémentaires. Par défaut : false.--silent
Désactive la sortie intermédiaire vers la console. Par défaut : false.
--help
Affiche le texte d’aide de cette commande.
Notes sur l’utilisation¶
Note
Snowflake CLI ne prend pas en charge l’exécution des fichiers Python pour les versions 3.12 et supérieures de Python.
Vous pouvez utiliser des modèles de type globaux pour filtrer les fichiers, tels que @my_repo/branches/main/*.sql
et @my_repo/branches/main/dev/*
. La commande n’exécute que les fichiers portant l’extension .sql
.
Lorsque vous utilisez des modèles Jinja pour les fichiers SQL, vous pouvez transmettre des variables de modèle en utilisant l’option -D
ou (--variable)
, telle que -D "<clé>=<valeur>"
. Les valeurs des chaînes doivent être placées entre guillemets simples (''
).
Exemples¶
L’exemple suivant montre comment exécuter les commandes SQL dans tous les fichiers du répertoire project
qui correspondent à une expression régulière.
snow git execute "@git_test/branches/main/projects/script*.sql"
SUCCESS - git_test/branches/main/projects/script1.sql
SUCCESS - git_test/branches/main/projects/script2.sql
SUCCESS - git_test/branches/main/projects/script3.sql
+---------------------------------------------------------------+
| File | Status | Error |
|---------------------------------------------+---------+-------|
| git_test/branches/main/projects/script1.sql | SUCCESS | None |
| git_test/branches/main/projects/script2.sql | SUCCESS | None |
| git_test/branches/main/projects/script3.sql | SUCCESS | None |
+---------------------------------------------------------------+