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 <token> --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> --oauth-client-id <oauth_client_id> --oauth-client-secret <oauth_client_secret> --oauth-authorization-url <oauth_authorization_url> --oauth-token-request-url <oauth_token_request_url> --oauth-redirect-uri <oauth_redirect_uri> --oauth-scope <oauth_scope> --oauth-disable-pkce --oauth-enable-refresh-tokens --oauth-enable-single-use-refresh-tokens --client-store-temporary-credential --format <format> --verbose --debug --silent --enhanced-exit-codes
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 TEXT
OAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--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
Ob ein Verbindungsdiagnosebericht erstellt werden soll. Standard: false
--diag-log-path TEXT
Pfad für den generierten Bericht. Standardmäßig wird das temporäre Verzeichnis des Systems verwendet. Standard: <system_temporary_directory>.
--diag-allowlist-path TEXT
Pfad zu einer JSON-Datei, die allowlist-Parameter enthält.
--oauth-client-id TEXT
Wert der Client-ID, die vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-client-secret TEXT
Wert des Client-Geheimnisses, das vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-authorization-url TEXT
Endpunkt des Identitätsanbieters, der den Autorisierungscode an den Treiber liefert.
--oauth-token-request-url TEXT
Endpunkt des Identitätsanbieters, der die Zugriffstoken für den Treiber bereitstellt.
--oauth-redirect-uri TEXT
Für die Umleitung des Autorisierungscodes zu verwendende URI.
--oauth-scope TEXT
Bereich, der in der Autorisierungsanfrage des Identitätsanbieters angefordert wird.
--oauth-disable-pkce
Deaktiviert den Proof Key For Code Exchange (PKCE). Standard:
False
.--oauth-enable-refresh-tokens
Ermöglicht eine stille Neuauthentifizierung, wenn das aktuelle Zugriffstoken veraltet ist. Standard:
False
.--oauth-enable-single-use-refresh-tokens
Ob Sie sich für die Semantik des einmaligen Aktualisierungs-Tokens entscheiden. Standard:
False
.--client-store-temporary-credential
Speichern der temporären Anmeldeinformationen.
--format [TABLE|JSON|JSON_EXT|CSV]
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
--enhanced-exit-codes
Exit-Fehlercodes nach Art des Fehlers unterscheiden. Standard: false
--help
Zeigt den Hilfetext für diesen Befehl an.
Nutzungshinweise¶
Bemerkung
Snowflake CLI unterstützt die Ausführung von Python-Dateien für Python-Versionen 3.12 und höher nicht.
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 | +---------------------------------------------------------------+