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>
  --workload-identity-provider <workload_identity_provider>
  --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¶
stage_pathStagingbereich 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 TEXTVariablen 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 TEXTName der Verbindung, wie in Ihrer
config.toml-Datei definiert. Standard:Standard.--host TEXTHost-Adresse für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--port INTEGERPort für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--account, --accountname TEXTName, der Ihrem Snowflake-Konto zugewiesen wurde. Überschreibt den für die Verbindung angegebenen Wert.
--user, --username TEXTBenutzername für die Verbindung zu Snowflake. Überschreibt den für die Verbindung angegebenen Wert.
--password TEXTSnowflake-Kennwort. Überschreibt den für die Verbindung angegebenen Wert.
--authenticator TEXTSnowflake-Authentifikator. Überschreibt den für die Verbindung angegebenen Wert.
--workload-identity-provider TEXTWorkload-Identitätsanbieter (AWS, AZURE, GCP, OIDC). Überschreibt den für die Verbindung angegebenen Wert.
--private-key-file, --private-key-path TEXTDateipfad zum privaten Snowflake-Schlüssel. Überschreibt den für die Verbindung angegebenen Wert.
--token TEXTOAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--token-file-path TEXTPfad zur Datei mit einem OAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--database, --dbname TEXTZu verwendende Datenbank. Überschreibt den für die Verbindung angegebenen Wert.
--schema, --schemaname TEXTZu verwendendes Datenbankschema. Überschreibt den für die Verbindung angegebenen Wert.
--role, --rolename TEXTZu verwendende Rolle. Überschreibt den für die Verbindung angegebenen Wert.
--warehouse TEXTZu verwendendes Warehouse. Überschreibt den für die Verbindung angegebenen Wert.
--temporary-connection, -xVerwendet eine mit Befehlszeilenparametern definierte Verbindung anstelle einer in config definierten. Standard: false
--mfa-passcode TEXTFür die mehrstufige Authentifizierung (MFA) zu verwendendes Token.
--enable-diagOb ein Verbindungsdiagnosebericht erstellt werden soll. Standard: false
--diag-log-path TEXTPfad für den generierten Bericht. Standardmäßig wird das temporäre Verzeichnis des Systems verwendet. Standard: <system_temporary_directory>.
--diag-allowlist-path TEXTPfad zu einer JSON-Datei, die allowlist-Parameter enthält.
--oauth-client-id TEXTWert der Client-ID, die vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-client-secret TEXTWert des Client-Geheimnisses, das vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-authorization-url TEXTEndpunkt des Identitätsanbieters, der den Autorisierungscode an den Treiber liefert.
--oauth-token-request-url TEXTEndpunkt des Identitätsanbieters, der die Zugriffstoken für den Treiber bereitstellt.
--oauth-redirect-uri TEXTFür die Umleitung des Autorisierungscodes zu verwendende URI.
--oauth-scope TEXTBereich, der in der Autorisierungsanfrage des Identitätsanbieters angefordert wird.
--oauth-disable-pkceDeaktiviert den Proof Key For Code Exchange (PKCE). Standard:
False.--oauth-enable-refresh-tokensErmöglicht eine stille Neuauthentifizierung, wenn das aktuelle Zugriffstoken veraltet ist. Standard:
False.--oauth-enable-single-use-refresh-tokensOb Sie sich für die Semantik des einmaligen Aktualisierungs-Tokens entscheiden. Standard:
False.--client-store-temporary-credentialSpeichern der temporären Anmeldeinformationen.
--format [TABLE|JSON|JSON_EXT|CSV]Gibt das Ausgabeformat an. Standard: TABLE.
--verbose, -vZeigt Protokolleinträge für die Protokolliergrade
infound höher an. Standard: false--debugZeigt Protokolleinträge für die Protokollebenen
debugund höher an; Debug-Protokolle enthalten zusätzliche Informationen. Standard: false--silentSchaltet Zwischenausgaben auf der Konsole aus. Standard: false
--enhanced-exit-codesExit-Fehlercodes nach Art des Fehlers unterscheiden. Standard: false
--helpZeigt 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.
Der Befehl sucht nach Dateien mit der
.sql-Erweiterung im angegebenenSTAGE_PATHund führtEXECUTE IMMEDIATEfür jede dieser Dateien aus.STAGE_PATHkann 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 Verzeichnisdirausführt.Direkter Dateipfad, z. B.
@scripts/script.sql, der nur die Dateiscript.sqlausscriptsausfü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 Verzeichnisdirauszufü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 Verzeichnisdirauszufü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
--silentan:snow stage execute "@scripts/script1.sql" --silent
+---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | +---------------------------------------+