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
Copy

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"
Copy
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  |
+---------------------------------------------------------------+