snow dbt deploy

Upload local dbt project files and create or update a DBT project object on Snowflake. Examples: snow dbt deploy PROJECT snow dbt deploy PROJECT –source=/Users/jdoe/project –force

Syntaxe

snow dbt deploy
  <name>
  --source <source>
  --profiles-dir <profiles_dir>
  --force / --no-force
  --default-target <default_target>
  --unset-default-target
  --external-access-integration <external_access_integrations>
  --install-local-deps
  --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>
Copy

Arguments

name

Identificateur du projet DBT ; par exemple : my_pipeline.

Options

--source TEXT

Chemin d’accès au répertoire contenant les fichiers dbt à déployer. La valeur par défaut est le répertoire de travail actuel.

--profiles-dir TEXT

Chemin d’accès au répertoire contenant profiles.yml. La valeur par défaut est le répertoire fourni dans –source ou le répertoire de travail actuel.

--force / --no-force

Remplace les fichiers en conflit dans le projet, le cas échéant. Par défaut : False.

--default-target TEXT

Default target for the dbt project. Mutually exclusive with –unset-default-target.

--unset-default-target

Unset the default target for the dbt project. Mutually exclusive with –default-target. Default: False.

--external-access-integration TEXT

External access integration to be used by the dbt object.

--install-local-deps

Installs local dependencies from project that don’t require external access. Default: False.

--connection, -c, --environment TEXT

Nom de la connexion, tel que défini dans votre fichier config.toml. Défaut : défaut.

--host TEXT

Adresse de l’hôte pour la connexion. Remplace la valeur spécifiée pour la connexion.

--port INTEGER

Port pour la connexion. Remplace la valeur spécifiée pour la connexion.

--account, --accountname TEXT

Nom attribué à votre compte Snowflake. Remplace la valeur spécifiée pour la connexion.

--user, --username TEXT

Nom d’utilisateur pour se connecter à Snowflake. Remplace la valeur spécifiée pour la connexion.

--password TEXT

Mot de passe Snowflake. Remplace la valeur spécifiée pour la connexion.

--authenticator TEXT

Authentificateur Snowflake. Remplace la valeur spécifiée pour la connexion.

--workload-identity-provider TEXT

Fournisseur d’identité de charge de travail (AWS, AZURE, GCP, OIDC). Remplace la valeur spécifiée pour la connexion.

--private-key-file, --private-key-path TEXT

Chemin du fichier de clé privée Snowflake. Remplace la valeur spécifiée pour la connexion.

--token TEXT

Jeton OAuth à utiliser lors de la connexion à Snowflake.

--token-file-path TEXT

Chemin d’accès au fichier contenant un jeton OAuth à utiliser lors de la connexion à Snowflake.

--database, --dbname TEXT

Base de données à utiliser. Remplace la valeur spécifiée pour la connexion.

--schema, --schemaname TEXT

Schéma de la base de données à utiliser. Remplace la valeur spécifiée pour la connexion.

--role, --rolename TEXT

Rôle à utiliser. Remplace la valeur spécifiée pour la connexion.

--warehouse TEXT

Entrepôt à utiliser. Remplace la valeur spécifiée pour la connexion.

--temporary-connection, -x

Uses a connection defined with command-line parameters, instead of one defined in config. Default: False.

--mfa-passcode TEXT

Jeton à utiliser pour l’authentification multifactorielle (MFA)

--enable-diag

Indique s’il faut générer un rapport de diagnostic de la connexion. Par défaut : false.

--diag-log-path TEXT

Chemin d’accès au rapport généré. Il s’agit du répertoire temporaire du système par défaut. Par défaut : <system_temporary_directory>.

--diag-allowlist-path TEXT

Chemin d’accès à un fichier JSON contenant les paramètres de la liste d’autorisations.

--oauth-client-id TEXT

Valeur de l’identifiant du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.

--oauth-client-secret TEXT

Valeur du secret du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.

--oauth-authorization-url TEXT

Point de terminaison du fournisseur d’identité fournissant le code d’autorisation au pilote.

--oauth-token-request-url TEXT

Point de terminaison du fournisseur d’identité fournissant les jetons d’accès au pilote.

--oauth-redirect-uri TEXT

URI à utiliser pour la redirection du code d’autorisation.

--oauth-scope TEXT

Champ d’application demandé dans la requête d’autorisation du fournisseur d’identité.

--oauth-disable-pkce

Désactive la clé de preuve pour l’échange de code (PKCE). Par défaut : False.

--oauth-enable-refresh-tokens

Permet une réauthentification silencieuse lorsque le jeton d’accès actuel n’est plus valable. Par défaut : False.

--oauth-enable-single-use-refresh-tokens

Indique s’il faut choisir une sémantique de jeton d’actualisation à usage unique. Par défaut : False.

--client-store-temporary-credential

Enregistrez les identifiants de connexion temporaires.

--format [TABLE|JSON|JSON_EXT|CSV]

Spécifie le format de sortie. Par défaut : TABLE.

--verbose, -v

Affiche les entrées de journal pour les niveaux de journalisation info et supérieurs. Par défaut : false.

--debug

Affiche les entrées de journal pour les niveaux de journalisation debug et supérieurs ; les journaux de débogage contiennent des informations supplémentaires. Par défaut : false.

--silent

Désactive la sortie intermédiaire vers la console. Par défaut : false.

--enhanced-exit-codes

Différenciez les codes d’erreur de sortie en fonction du type d’erreur. Par défaut : false.

--decimal-precision INTEGER

Number of decimal places to display for decimal values. Uses Python’s default precision if not specified.

--help

Affiche le texte d’aide de cette commande.

Notes sur l’utilisation

La commande snow dbt deploy charge des fichiers locaux dans une zone de préparation temporaire et crée un nouvel objet ou met à jour un objet de projet dbt existant en créant une nouvelle version. Un objet de projet dbt valide doit contenir deux fichiers :

  • dbt_project.yml: A standard dbt configuration file that specifies the profile to use.

  • profiles.yml: A dbt connection profile definition referenced in dbt_project.yml. profiles.yaml must define the database, role, schema, and type.

    <profile_name>:
    target: dev
    outputs:
      dev:
        database: <database_name>
        role: <role_name>
        schema: <schema_name>
        warehouse: <warehouse_name>
        type: snowflake
    
    Copy

Exemples

  • Déployez un projet dbt nommé jaffle_shop :

    snow dbt deploy jaffle_shop
    
    Copy
  • Déployez un projet nommé jaffle_shop à partir d’un répertoire spécifié et remplacez l’objet de projet dbt s’il existe déjà :

    snow dbt deploy jaffle_shop --force --source /path/to/dbt/directory --profiles-dir ~/.dbt/
    
    Copy
  • Deploy a project named jaffle_shop from a specified directory using a custom profiles directory and enabling external access integrations:

    snow dbt deploy jaffle_shop --force --source /path/to/dbt/directory
    --profiles-dir ~/.dbt/ --default-target dev
    --external-access-integration dbthub-integration
    --external-access-integration github-integration
    
    Copy