snow stage copy¶
Copie tous les fichiers du chemin cible dans le répertoire cible. Cela fonctionne pour le chargement et le téléchargement de fichiers dans la zone de préparation, ainsi que pour la copie entre des zones de préparation nommées.
Syntaxe¶
snow stage copy
<source_path>
<destination_path>
--overwrite / --no-overwrite
--parallel <parallel>
--recursive / --no-recursive
--auto-compress / --no-auto-compress
--refresh / --no-refresh
--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
Arguments¶
source_pathChemin source pour l’opération de copie. Il peut s’agir d’un chemin de zone de préparation ou d’un chemin local. Vous pouvez utiliser un modèle glob pour les fichiers locaux, mais le modèle doit être placé entre guillemets.
destination_pathChemin du répertoire cible pour l’opération de copie.
Options¶
--overwrite / --no-overwriteÉcrase les fichiers existants dans le chemin cible. Par défaut : false.
--parallel INTEGERNombre de threads parallèles à utiliser lors du téléchargement de fichiers. Par défaut : 4
--recursive / --no-recursiveCopiez des fichiers de manière récursive avec la structure du répertoire. Par défaut : false.
--auto-compress / --no-auto-compressIndique si Snowflake utilise gzip pour compresser les fichiers pendant le chargement. Ignoré lors du téléchargement. Par défaut : false.
--refresh / --no-refreshIndique si ALTER STAGE {name} REFRESH doit être exécuté après le chargement. Par défaut : False.
--connection, -c, --environment TEXTNom de la connexion, tel que défini dans votre fichier
config.toml. Défaut :défaut.--host TEXTAdresse de l’hôte pour la connexion. Remplace la valeur spécifiée pour la connexion.
--port INTEGERPort pour la connexion. Remplace la valeur spécifiée pour la connexion.
--account, --accountname TEXTNom attribué à votre compte Snowflake. Remplace la valeur spécifiée pour la connexion.
--user, --username TEXTNom d’utilisateur pour se connecter à Snowflake. Remplace la valeur spécifiée pour la connexion.
--password TEXTMot de passe Snowflake. Remplace la valeur spécifiée pour la connexion.
--authenticator TEXTAuthentificateur Snowflake. Remplace la valeur spécifiée pour la connexion.
--workload-identity-provider TEXTFournisseur 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 TEXTChemin du fichier de clé privée Snowflake. Remplace la valeur spécifiée pour la connexion.
--token TEXTJeton OAuth à utiliser lors de la connexion à Snowflake.
--token-file-path TEXTChemin d’accès au fichier contenant un jeton OAuth à utiliser lors de la connexion à Snowflake.
--database, --dbname TEXTBase de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--schema, --schemaname TEXTSchéma de la base de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--role, --rolename TEXTRôle à utiliser. Remplace la valeur spécifiée pour la connexion.
--warehouse TEXTEntrepôt à utiliser. Remplace la valeur spécifiée pour la connexion.
--temporary-connection, -xUtilise 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 TEXTJeton à utiliser pour l’authentification multifactorielle (MFA)
--enable-diagIndique s’il faut générer un rapport de diagnostic de la connexion. Par défaut : false.
--diag-log-path TEXTChemin 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 TEXTChemin d’accès à un fichier JSON contenant les paramètres de la liste d’autorisations.
--oauth-client-id TEXTValeur de l’identifiant du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.
--oauth-client-secret TEXTValeur du secret du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.
--oauth-authorization-url TEXTPoint de terminaison du fournisseur d’identité fournissant le code d’autorisation au pilote.
--oauth-token-request-url TEXTPoint de terminaison du fournisseur d’identité fournissant les jetons d’accès au pilote.
--oauth-redirect-uri TEXTURI à utiliser pour la redirection du code d’autorisation.
--oauth-scope TEXTChamp d’application demandé dans la requête d’autorisation du fournisseur d’identité.
--oauth-disable-pkceDésactive la clé de preuve pour l’échange de code (PKCE). Par défaut :
False.--oauth-enable-refresh-tokensPermet une réauthentification silencieuse lorsque le jeton d’accès actuel n’est plus valable. Par défaut :
False.--oauth-enable-single-use-refresh-tokensIndique s’il faut choisir une sémantique de jeton d’actualisation à usage unique. Par défaut :
False.--client-store-temporary-credentialEnregistrez les identifiants de connexion temporaires.
--format [TABLE|JSON|JSON_EXT|CSV]Spécifie le format de sortie. Par défaut : TABLE.
--verbose, -vAffiche les entrées de journal pour les niveaux de journalisation
infoet supérieurs. Par défaut : false.--debugAffiche les entrées de journal pour les niveaux de journalisation
debuget supérieurs ; les journaux de débogage contiennent des informations supplémentaires. Par défaut : false.--silentDésactive la sortie intermédiaire vers la console. Par défaut : false.
--enhanced-exit-codesDifférenciez les codes d’erreur de sortie en fonction du type d’erreur. Par défaut : false.
--helpAffiche le texte d’aide de cette commande.
Notes sur l’utilisation¶
L’un des deux
SOURCE_PATHouDESTINATION_PATHdoit être un répertoire local, tandis que l’autre doit être un répertoire de la zone de préparation Snowflake. Le chemin de la zone de préparation doit commencer par « @ ». Par exemple :snow stage copy @my_stage dir/- copie les fichiers de la zone de préparationmy_stagedans le répertoire localdir.snow stage copy dir/ @my_stage- copie les fichiers du répertoire localdirversmy_stage.
Vous pouvez spécifier plusieurs fichiers correspondant à une expression régulière en utilisant un modèle global pour l’argument
source_path. Vous devez placer le modèle global entre guillemets simples ou doubles.
Exemples¶
Pour copier des fichiers de la machine locale vers une zone de préparation, utilisez une commande similaire à la suivante :
snow stage copy local_example_app @example_app_stage/app
put file:///.../local_example_app/* @example_app_stage/app4 auto_compress=false parallel=4 overwrite=False +-------------------------------------------------------------------------------------- | source | target | source_size | target_size | source_compression... |------------------+------------------+-------------+-------------+-------------------- | environment.yml | environment.yml | 62 | 0 | NONE ... | snowflake.yml | snowflake.yml | 252 | 0 | NONE ... | streamlit_app.py | streamlit_app.py | 109 | 0 | NONE ... +--------------------------------------------------------------------------------------
Pour télécharger des fichiers d’une zone de préparation vers un répertoire local, utilisez une commande similaire à la suivante :
mkdir local_app_backup snow stage copy @example_app_stage/app local_app_backup
get @example_app_stage/app file:///.../local_app_backup/ parallel=4 +------------------------------------------------+ | file | size | status | message | |------------------+------+------------+---------| | environment.yml | 62 | DOWNLOADED | | | snowflake.yml | 252 | DOWNLOADED | | | streamlit_app.py | 109 | DOWNLOADED | | +------------------------------------------------+
L’exemple suivant copie tous les fichiers
.txtd’un répertoire dans une zone de préparation.snow stage copy "testdir/*.txt" @TEST_STAGE_3
put file:///.../testdir/*.txt @TEST_STAGE_3 auto_compress=false parallel=4 overwrite=False +------------------------------------------------------------------------------------------------------------+ | source | target | source_size | target_size | source_compression | target_compression | status | message | |--------+--------+-------------+-------------+--------------------+--------------------+----------+---------| | b1.txt | b1.txt | 3 | 16 | NONE | NONE | UPLOADED | | | b2.txt | b2.txt | 3 | 16 | NONE | NONE | UPLOADED | | +------------------------------------------------------------------------------------------------------------+