Configuration de Snowflake CLI¶
Snowflake CLI utilise un fichier de configuration global appelé config.toml
pour configurer les connexions et les journaux pour Snowflake CLI. Si le fichier n’existe pas, la première exécution d’une commande snow
crée automatiquement un fichier config.toml
vide que vous pouvez ensuite remplir avec les connexions souhaitées. Pour plus d’informations sur les formats de fichiers toml
, consultez TOML (Tom’s Obvious Minimal Language). Les bibliothèques Python de Snowflake prennent en charge actuellement la version TOML de 1.0.0.
Le config.toml
prend en charge les sections suivantes :
(connexions) pour définir et gérer les connexions
(journaux) pour configurer les types de messages enregistrés dans les fichiers journaux
Un fichier de configuration Snowflake CLI a la structure suivante :
[connections]
[connections.myconnection]
account = "myaccount"
user = "jdoe"
...
[connections.testingconnection]
account = "myaccount"
user = "jdoe"
...
[cli.logs]
save_logs = true
level = "info"
path = "/home/<username>/.snowflake/logs"
Emplacement du fichier de configuration .toml
¶
Par défaut, Snowflake CLI cherche le fichier config.toml
dans le répertoire ~/.snowflake
ou, si ce répertoire n’existe pas, dans un emplacement spécifique au système, comme indiqué ci-dessous. Vous pouvez également spécifier quel fichier de configuration doit être utilisé en utilisant l’indicateur --config-file
ou la variable d’environnement SNOWFLAKE_HOME
.
Si vous spécifiez l’option
--config-file
option (par exemple,snow --config-file ./my-config-file-path
), Snowflake CLI utilise le fichier de configuration spécifié.Si la variable d’environnement
SNOWFLAKE_HOME
est définie, Snowflake CLI utilise l’emplacement spécifié par cette variable.Si un répertoire
~/.snowflake
existe sur votre machine, Snowflake Snowflake CLI utilise le fichier~/.snowflake/config.toml
.Sinon, Snowflake CLI utilise le fichier
config.toml
dans l’un des emplacements suivants, en fonction de votre système d’exploitation :Linux :
~/.config/snowflake/config.toml
, mais vous pouvez le mettre à jour avec des variables XDGWindows :
%USERPROFILE%\AppData\Local\snowflake\config.toml
Mac :
~/Library/Application Support/snowflake/config.toml
Note
Pour les systèmes MacOS et Linux, Snowflake CLI exige que le fichier config.toml
limite ses autorisations à la lecture et à l’écriture pour le propriétaire du fichier uniquement. Pour définir les autorisations requises pour le fichier, exécutez les commandes suivantes :
chown $USER config.toml
chmod 0600 config.toml
Choisir un fichier de configuration différent¶
Dans certaines situations, comme un environnement d’intégration continue et de déploiement continu (CI/CD), vous préférerez peut-être créer des fichiers de configuration dédiés aux pipelines de test et de déploiement plutôt que de définir toutes les configurations possibles dans un simple fichier de configuration par défaut de Snowflake.
Pour utiliser un fichier de configuration différent de votre fichier par défaut, vous pouvez utiliser l’option --config-file
pour la commande snow
, comme indiqué :
snow --config-file="my_config.toml" connection test
Prise en charge des variables d’environnement système¶
Snowflake CLI prend en charge l’utilisation de variables d’environnement système pour remplacer les valeurs de paramètres définies dans votre fichier config.toml
, en utilisant le format suivant :
SNOWFLAKE_<config-section>_<variable>=<value>
où :
<config_section>
est le nom d’une section dans le fichier de configuration avec des points (.
) remplacé par des traits de soulignement (_
), commeCLI_LOGS
.variable est le nom d’une variable définie dans cette section, telle que
path
.
Quelques exemples :
Remplacez le paramètre
path
dans la section[cli.logs]
dans le fichierconfig.toml
:export SNOWFLAKE_CLI_LOGS_PATH="/Users/jondoe/snowcli_logs"
Définissez le mot de passe pour la connexion
myconnection
:export SNOWFLAKE_CONNECTIONS_MYCONNECTION_PASSWORD="*******"
Définissez le nom de connexion par défaut :
export SNOWFLAKE_DEFAULT_CONNECTION_NAME="myconnection"
Configurer la journalisation¶
Par défaut, Snowflake CLI enregistre automatiquement les messages de niveau INFO
, WARNING
et ERROR
dans des fichiers journaux. Pour désactiver ou personnaliser la journalisation, créez une section [cli.logs]
dans votre fichier config.toml
:
[cli.logs]
save_logs = true
level = "info"
path = "/home/<username>/.snowflake/logs"
où :
save_logs
indique s’il faut enregistrer les journaux dans des fichiers. Par défaut :true
.level
spécifie les niveaux de message à enregistrer dans les fichiers journaux. Choisissez parmi les niveaux suivants, qui incluent tous les niveaux inférieurs à celui sélectionné :debug
Avertissement
Le passage au niveau de journalisation
debug
peut exposer des informations sensibles, telles que les requêtes SQL exécutées. Soyez prudent lorsque vous activez ce niveau.info
warning
error
Par défaut :
info
path
spécifie le chemin absolu où enregistrer les fichiers journaux. Le format du chemin varie en fonction de votre système d’exploitation, comme indiqué ci-dessous :Linux :
path = "/home/<votre_nom_d_utilisateur>/.config/snowflake/logs"
MacOS :
path = "/Users/<votre_nom_d_utilisateur>/Library/Application Support/snowflake/logs"
Windows :
path = "C:\\Users\\<votre_nom_d_utilisateur>\\AppData\\Local\\snowflake\\logs"
Si elle n’est pas spécifiée, la commande crée un répertoire
logs
dans l’emplacement par défaut du fichierconfig.toml
.
Si votre config.toml
a été créé automatiquement, le fichier config.toml
contient la section `` |cli.logs| `` remplie de valeurs par défaut.
Les journaux d’une seule journée sont ajoutés au fichier snowflake-cli.log
, qui est ensuite renommé snowflake-cli.log.YYYY-MM-DD
, comme indiqué.
ls logs/
snowflake-cli.log snowflake-cli.log.2024-10-22