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
Copy

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 angegebenen STAGE_PATH und führt EXECUTE 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 Verzeichnis dir ausführt.

    • Direkter Dateipfad, z. B. @scripts/script.sql, der nur die Datei script.sql aus scripts 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"
    
    Copy
    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 Verzeichnis dir auszuführen:

    snow stage execute "@scripts/dir/*"
    
    Copy
    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 Verzeichnis dir auszuführen, die mit „script“, gefolgt von einem Zeichen beginnen:

    snow stage execute "@scripts/script?.sql"
    
    Copy
    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
    
    Copy
    +---------------------------------------+
    | File                | Status  | Error |
    |---------------------+---------+-------|
    | scripts/script1.sql | SUCCESS | None  |
    +---------------------------------------+