snow git execute¶
Führt sofort alle Dateien im Repository-Pfad aus. Dateien können mit einem glob-ähnlichen Muster gefiltert werden, z. B. @my_repo/branches/main/*.sql
, @my_repo/branches/main/dev/*
. Es werden nur Dateien mit der Erweiterung .sql
oder .py
ausgeführt.
Syntax¶
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
Argumente¶
repository_path
Pfad zum Stagingbereich des Git-Repositorys mit dem angegebenen Geltungsbereich. Der Pfad zum Stammverzeichnis des Repositorys muss mit „/“ enden. Beispiel: @my_repo/branches/main/.
Optionen¶
--on-error [break|continue]
Gibt an, was im Fehlerfall zu tun ist. Standardmäßig auf „break“ (Anhalten) eingestellt. Standard: Pause.
--variable, -D TEXT
Variablen für den Ausführungskontext, zum Beispiel:
-D "<Schlüssel>=<Wert>"
. Bei SQL-Dateien werden Variablen verwendet, um die Vorlage zu erweitern, und jede unbekannte Variable führt zu einem Fehler (erwägen Sie die Einbettung von Anführungszeichen in die Datei). Bei Python-Dateien werden Variablen verwendet, um das os.environ-Wörterbuch zu aktualisieren. Die zur Verfügung gestellten Schlüssel werden großgeschrieben, um die Best Practices einzuhalten. Im Falle von SQL-Dateien müssen Zeichenfolgen in''
in Anführungszeichen gesetzt werden (erwägen Sie, die Anführungszeichen in die Datei einzubetten).--connection, -c, --environment TEXT
Name der Verbindung, wie in Ihrer
config.toml
-Datei definiert. Standard:Standard
.--host TEXT
Host-Adresse für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--port INTEGER
Port für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--account, --accountname TEXT
Name, der Ihrem Snowflake-Konto zugewiesen wurde. Überschreibt den für die Verbindung angegebenen Wert.
--user, --username TEXT
Benutzername für die Verbindung zu Snowflake. Überschreibt den für die Verbindung angegebenen Wert.
--password TEXT
Snowflake-Kennwort. Überschreibt den für die Verbindung angegebenen Wert.
--authenticator TEXT
Snowflake-Authentifikator. Überschreibt den für die Verbindung angegebenen Wert.
--private-key-file, --private-key-path TEXT
Dateipfad zum privaten Snowflake-Schlüssel. Überschreibt den für die Verbindung angegebenen Wert.
--token-file-path TEXT
Pfad zur Datei mit einem OAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--database, --dbname TEXT
Zu verwendende Datenbank. Überschreibt den für die Verbindung angegebenen Wert.
--schema, --schemaname TEXT
Zu verwendendes Datenbankschema. Überschreibt den für die Verbindung angegebenen Wert.
--role, --rolename TEXT
Zu verwendende Rolle. Überschreibt den für die Verbindung angegebenen Wert.
--warehouse TEXT
Zu verwendendes Warehouse. Überschreibt den für die Verbindung angegebenen Wert.
--temporary-connection, -x
Verwendet eine mit Befehlszeilenparametern definierte Verbindung anstelle einer in config definierten. Standard: false
--mfa-passcode TEXT
Für die mehrstufige Authentifizierung (MFA) zu verwendendes Token.
--enable-diag
Führt den Python-Konnektor-Diagnosetest aus. Standard: false
--diag-log-path TEXT
Pfad des Diagnoseberichts. Standard: <temporary_directory>.
--diag-allowlist-path TEXT
Pfad des Diagnoseberichts zur optionalen Zulassungsliste.
--format [TABLE|JSON]
Gibt das Ausgabeformat an. Standard: TABLE.
--verbose, -v
Zeigt Protokolleinträge für die Protokolliergrade
info
und höher an. Standard: false--debug
Zeigt Protokolleinträge für die Protokollebenen
debug
und höher an; Debug-Protokolle enthalten zusätzliche Informationen. Standard: false--silent
Schaltet Zwischenausgaben auf der Konsole aus. Standard: false
--help
Zeigt den Hilfetext für diesen Befehl an.
Nutzungshinweise¶
Sie können glob-ähnliche Muster verwenden, um die Dateien zu filtern, z. B. @my_repo/branches/main/*.sql
und @my_repo/branches/main/dev/*
. Der Befehl führt nur Dateien mit der Erweiterung .sql
aus.
Wenn Sie Jinja-Vorlagen für die SQL-Dateien verwenden, können Sie Vorlagenvariablen mit der Option -D
(oder --variable)
übergeben, wie z. B. -D "<key>=<value>"
. Sie müssen String-Werte in einfache Anführungszeichen (''
) einschließen.
Beispiele¶
Das folgende Beispiel zeigt, wie Sie die SQL-Befehle in allen Dateien innerhalb des project
-Verzeichnisses ausführen, die mit einem regulären Ausdruck übereinstimmen.
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 |
+---------------------------------------------------------------+