snow stage execute¶
Führt sofort alle Dateien aus dem Stagingbereich aus. Dateien können mit einem glob-ähnlichen Muster gefiltert werden, z. B. @stage/*.sql
, @stage/dev/*
. Es werden nur Dateien mit der Erweiterung .sql
ausgeführt.
Syntax¶
snow stage execute
<stage_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¶
stage_path
Stagingbereich mit den Dateien, die ausgeführt werden sollen. Zum Beispiel
@stage/dev/*
.
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¶
Der Befehl sucht nach Dateien mit der
.sql
-Erweiterung im angegebenenSTAGE_PATH
und führtEXECUTE IMMEDIATE
für jede dieser Dateien aus.STAGE_PATH
kann sein:Nur ein Stagingbereichsname, z. B.
@scripts
, wodurch alle.sql
-Dateien aus dem Stagingbereich ausgeführt werden.Glob-ähnliches Muster, wie
@scripts/dir/*
, das die.sql
-Dateien aus dem Verzeichnisdir
ausführt.Direkter Dateipfad, z. B.
@scripts/script.sql
, der nur die Dateiscript.sql
ausscripts
ausführt.
Die Option --silent
blendet Zwischenmeldungen mit den Ergebnissen der Dateiausführung 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¶
Geben Sie nur den Namen eines Stagingbereichs an, um alle
.sql
-Dateien im Stagingbereich auszuführen:snow stage execute "@scripts"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
Geben Sie ein glob-ähnliches Muster an, um alle
.sql
-Dateien im Verzeichnisdir
auszuführen:snow stage execute "@scripts/dir/*"
SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
Geben Sie ein glob-ähnliches Muster an, um nur
.sql
-Dateien im Verzeichnisdir
auszuführen, die mit „script“, gefolgt von einem Zeichen beginnen:snow stage execute "@scripts/script?.sql"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql +---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | +---------------------------------------+
Geben Sie einen direkten Dateipfad mit der Option
--silent
an:snow stage execute "@scripts/script1.sql" --silent
+---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | +---------------------------------------+