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"
Copy

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 XDG

    • Windows : %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
Copy

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
Copy

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>
Copy

où :

  • <config_section> est le nom d’une section dans le fichier de configuration avec des points (.) remplacé par des traits de soulignement (_), comme CLI_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 fichier config.toml :

    export SNOWFLAKE_CLI_LOGS_PATH="/Users/jondoe/snowcli_logs"
    
    Copy
  • Définissez le mot de passe pour la connexion myconnection :

    export SNOWFLAKE_CONNECTIONS_MYCONNECTION_PASSWORD="*******"
    
    Copy
  • Définissez le nom de connexion par défaut :

    export SNOWFLAKE_DEFAULT_CONNECTION_NAME="myconnection"
    
    Copy

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"
Copy

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 fichier config.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/
Copy
snowflake-cli.log            snowflake-cli.log.2024-10-22