snow dcm deploy

Stellt lokale Projektänderungen in Snowflake bereit, indem Objekte erstellt, geändert oder gelöscht werden, die den Definitionsdateien entsprechen.

Syntax

snow dcm deploy
  <identifier>
  --from <from_location>
  --variable <variables>
  --alias <alias>
  --target <target>
  --save-output
  --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
  --decimal-precision <decimal_precision>

Argumente

identifier

Bezeichner des DCM-Projekts. Beispiel: MY_DB.MY_SCHEMA.MY_PROJECT. Unterstützt vollqualifizierte (empfohlen) oder einfache Namen. Wenn sie nicht qualifiziert sind, werden standardmäßig die Datenbank und das Schema der Verbindung verwendet. Optional, wenn --target oder default_target in der Manifest-Datei definiert ist.

Optionen

--from PATH

Pfad des lokalen Verzeichnisses, das die DCM-Projektdateien enthält. Weglassen, um das aktuelle Verzeichnis zu verwenden.

--variable, -D TEXT

Variablen für den Ausführungskontext, zum Beispiel: -D "<key>=<value>".

--alias TEXT

Alias für die Bereitstellung.

--target TEXT

Zu verwendendes Zielprofil aus manifest.yml. Verwendet default_target, falls nicht angegeben.

--save-output

Speichern Sie die Befehlsantwort und Artefakte im lokalen „out/“-Verzeichnis. Standard: False.

--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.

--workload-identity-provider TEXT

Workload-Identitätsanbieter (AWS, AZURE, GCP, OIDC). Ü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

--decimal-precision INTEGER

Anzahl der Dezimalstellen, die für Dezimalwerte angezeigt werden sollen. Verwendet die Standardgenauigkeit von Python, wenn nicht angegeben. [env var: SNOWFLAKE_DECIMAL_PRECISION]

--help

Zeigt den Hilfetext für diesen Befehl an.

Nutzungshinweise

Der Befehl snow dcm deploy stellt lokale Projektänderungen in Snowflake bereit, indem Objekte erstellt, geändert oder gelöscht werden, die den Definitionsdateien entsprechen.

Wenn Sie ein DCM project bereitstellen, werden die folgenden Aktionen ausgeführt:

  • Objekte, die definiert sind, aber noch nicht existieren, werden erstellt.

  • Objekte, die bereits existieren, sich aber von der aktuellen Definition unterscheiden, werden geändert.

  • Objekte, die bereits existieren und bei denen es keine Unterschiede zwischen ihrem Zustand und ihrer Definition gibt, bleiben unverändert.

  • Objekte, die bereits existieren, aber nicht mehr definiert sind, werden gelöscht.

  • Objekte, die zuvor existierten, und deren Definitionen kürzlich zu DCM project hinzugefügt wurden, werden zu den von diesem DCM project verwalteten Objekten hinzugefügt.

Bemerkung

Dieser Befehl lädt automatisch die lokalen SQL-Quelldateien in einen temporären Stagingbereich in Snowflake hoch, sodass deren Inhalt das Endergebnis der Operation beeinflusst.

Verwenden Sie die Option --save-output, um die Bereitstellungsergebnisse in einer lokalen out/deploy.json-Datei zu speichern.

Weitere Informationen zum Bereitstellungsprozess finden Sie unter DCM project bereitstellen.

Beispiele

  • Bereitstellen eines DCM project-Objekts mit den Standardoptionen, wobei der Projektname in dem Ziel angegeben wird, das durch die Eigenschaft default_target im Manifest festgelegt ist:

    snow dcm deploy
    
  • Bereitstellen eines DCM project-Objekts, bei dem der Projektname im DEV-Ziel im Manifest angegeben wird:

    snow dcm deploy --target DEV
    
  • Bereitstellen eines DCM project-Objekts mit einem expliziten, vollqualifizierten Namen:

    snow dcm deploy MY_DB.MY_SCHEMA.MY_PROJECT
    
  • Bereitstellen eines DCM project-Projekts unter Verwendung lokaler Dateien, wobei der Projektname im DEV-Ziel im Manifest angegeben wird; Wert für die Variable db_name festlegen und Bereitstellungsalias auf v3 setzen:

    snow dcm deploy --target DEV --variable db_name=jdoe --alias v3
    
  • Bereitstellen eines DCM project-Objekts aus einem bestimmten Verzeichnis und Speichern der Ausgabe:

    snow dcm deploy --from /path/to/project --save-output