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

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