snow dcm deploy

Déploie les modifications de projet local dans Snowflake en créant, modifiant ou supprimant des objets pour qu’ils correspondent à vos fichiers de définition.

Syntaxe

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>

Arguments

identifier

Identificateur de projet DCM. Exemple : MY_DB.MY_SCHEMA.MY_PROJECT. Prend en charge les noms complets (recommandés) ou les noms simples. Si le nom n’est pas complet, la valeur par défaut correspond à la base de données et au schéma de la connexion. Facultatif si --target ou default_target est défini dans le manifeste.

Options

--from PATH

Chemin d’accès au répertoire local contenant les fichiers de projet DCM. Omettre pour utiliser le répertoire actuel.

--variable, -D TEXT

Variables pour le contexte d’exécution ; par exemple : -D "<key>=<value>".

--alias TEXT

Alias pour le déploiement.

--target TEXT

Profil cible de manifest.yml à utiliser. Utilise default_target si non spécifié.

--save-output

Enregistrez la réponse de commande et les artefacts dans le répertoire local « out/ ». Par défaut : 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

Utilise une connexion définie avec les paramètres de la ligne de commande, au lieu de celle définie dans la configuration. Par défaut : 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

Nombre de décimales à afficher pour les valeurs décimales. Utilise la précision par défaut de Python si non spécifiée. [var env : SNOWFLAKE_DECIMAL_PRECISION].

--help

Affiche le texte d’aide de cette commande.

Notes sur l’utilisation

La commande snow dcm deploy déploie les modifications de projet locales dans Snowflake en créant, modifiant ou supprimant des objets pour les faire correspondre aux fichiers de définition.

Lorsque vous déployez un DCM project, les actions suivantes sont effectuées :

  • Les objets qui sont définis mais qui n’existent pas encore sont créés.

  • Les objets qui existent déjà mais qui diffèrent de la définition actuelle sont modifiés.

  • Les objets qui existent déjà et dont l’état est identique à leur définition restent inchangés.

  • Les objets qui existent déjà mais qui ne sont plus définis sont supprimés.

  • Objets qui existaient auparavant et dont les définitions ont été récemment ajoutées dans DCM project, sont ajoutés aux objets gérés par cet DCM project.

Note

Cette commande importe automatiquement les fichiers SQL source locaux vers une zone de préparation temporaire dans Snowflake afin que leur contenu ait un impact sur le résultat final de l’opération.

Utilisez l’option :codenowrap:` –save-output` pour enregistrer les résultats du déploiement dans un fichier out/deploy.json local.

Pour plus d’informations sur le processus de déploiement, voir:ref:label-dcm_projects_deploy.

Exemples

  • Déployer un objet DCM project avec les options par défaut et dont le nom du projet est spécifié dans la cible identifiée par la propriété default_target dans le manifeste :

    snow dcm deploy
    
  • Déployer un objet DCM project dont le nom du projet est spécifié dans le DEV cible dans le manifeste :

    snow dcm deploy --target DEV
    
  • Déployer un objet DCM project avec un nom complet explicite :

    snow dcm deploy MY_DB.MY_SCHEMA.MY_PROJECT
    
  • Déployer un objet DCM project dont le nom du projet est spécifié dans le DEV cible dans le manifeste, spécifier la valeur de la variable db_name et définir l’alias de déploiement sur v3 :

    snow dcm deploy --target DEV --variable db_name=jdoe --alias v3
    
  • Déployer un objet DCM project d’un répertoire spécifique et enregistrer la sortie :

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