snow app deploy¶
Crée un paquet d’application dans votre compte Snowflake et synchronise les modifications locales vers la zone de préparation sans créer ou mettre à jour l’application. L’exécution de cette commande sans aucun argument, comme dans snow app deploy
, est une abréviation de snow app deploy --prune --recursive
.
Syntaxe¶
snow app deploy
<paths>
--prune / --no-prune
--recursive / --no-recursive
--interactive / --no-interactive
--force
--validate / --no-validate
--package-entity-id <package_entity_id>
--app-entity-id <app_entity_id>
--project <project_definition>
--env <env_overrides>
--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>
--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
Arguments¶
paths...
Chemins, relatifs à la racine du projet, des fichiers ou répertoires que vous souhaitez télécharger dans une zone de préparation. Si un fichier est spécifié, il doit correspondre à l’une des entrées du modèle artifacts src dans le fichier snowflake.yml. Si un répertoire est spécifié, des sous-dossiers ou des fichiers seront recherchés pour un déploiement en fonction des entrées de modèle src des artefacts. Si elle n’est pas spécifiée, la commande synchronise toutes les modifications locales avec la zone de préparation.
Options¶
--prune / --no-prune
Suppression ou non des fichiers spécifiés dans la zone de préparation s’ils n’existent pas localement. Si cette option est activée, la commande supprime les fichiers qui existent dans la zone de préparation, mais pas dans le système de fichiers local. Cette option ne peut pas être utilisée lorsque des chemins sont spécifiés.
--recursive, -r / --no-recursive
Permet de parcourir et de déployer des fichiers à partir de sous-répertoires. Si cette option est activée, la commande déploie tous les fichiers et sous-répertoires ; sinon, seuls les fichiers du répertoire actuel sont déployés.
--interactive / --no-interactive
Lorsqu’elle est activée, cette option affiche des invites même si l’entrée et la sortie standard ne sont pas des terminaux. La valeur par défaut est True dans un environnement shell interactif et False dans le cas contraire.
--force
Lorsqu’elle est activée, cette option permet à la commande d’approuver implicitement toutes les invites qui se présentent. Vous devez activer cette option si le mode interactif n’est pas spécifié et si vous souhaitez effectuer des actions potentiellement destructrices. La valeur par défaut est « non définie ». Par défaut : false.
--validate / --no-validate
Lorsqu’elle est activée, cette option déclenche la validation du script d’installation SQL d’une Snowflake Native App déployée. Par défaut : True.
--package-entity-id TEXT
L’ID de l’entité du paquet sur laquelle opérer lorsque definition_version est la 2 ou supérieure.
--app-entity-id TEXT
L’ID de l’entité d’application sur laquelle opérer la definition_version est la 2 ou supérieure.
-p, --project TEXT
Chemin où le projet Snowflake est stocké. La valeur par défaut est le répertoire de travail actuel.
--env TEXT
Chaîne au format clé=valeur. Remplace les variables de la section env utilisées pour les modèles. Par défaut : [].
--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.
--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-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 d’une connexion 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]
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.
--help
Affiche le texte d’aide de cette commande.
Notes sur l’utilisation¶
La commande snow app deploy
crée un paquet d’application dans votre compte Snowflake, télécharge les fichiers de code dans sa zone de préparation, valide le SQL du script d’installation et exécute tous les scripts post-déploiement définis dans snowflake.yml
. Contrairement à la commande snow app run, cette commande n’installe pas ou ne met pas à niveau un objet d’application.
Pour plus d’informations sur le déploiement d’une application avec l’activation des canaux de version, voir Processus avec canaux de version activés.
Exemples¶
Si vous souhaitez créer un paquet d’application à l’aide de fichiers en zone de préparation, vous pouvez exécuter :
cd my_app_project
my_app_project_build_script.sh
snow app deploy --connection="dev"