Konfigurieren von Snowflake CLI¶
Snowflake CLI verwendet eine globale Konfigurationsdatei namens config.toml
, um Verbindungen und Protokolle für Snowflake CLI zu konfigurieren. Wenn die Datei nicht existiert, wird bei der ersten Ausführung eines beliebigen snow
-Befehls automatisch eine leere config.toml
-Datei erstellt, die Sie dann mit den gewünschten Verbindungen füllen können. Weitere Informationen zu toml
-Dateiformaten finden Sie unter TOML (Tom’s Obvious Minimal Language). Die Snowflake-Python-Bibliotheken unterstützen derzeit TOML, Version 1.0.0.
Die config.toml
unterstützt die folgenden Abschnitte:
[Verbindungen] zur Definition und zur Verwaltung von Verbindungen
[Protokolle] zum Konfigurieren, welche Arten von Meldungen in den Dateien gespeichert werden
Eine Snowflake CLI-Konfigurationsdatei hat die folgende Struktur:
[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"
Speicherort der .toml
-Konfigurationsdatei¶
Standardmäßig sucht Snowflake CLI die Datei config.toml
im Verzeichnis ~/.snowflake
oder, falls dieses Verzeichnis nicht existiert, an einem systemspezifischen Speicherort, wie unten aufgelistet. Sie können auch mit dem Flag --config-file
oder der Umgebungsvariablen SNOWFLAKE_HOME
angeben, welche Datei für die Konfiguration verwendet werden soll.
Wenn Sie die Option
--config-file
angeben (z. B.snow --config-file ./my-config-file-path
), verwendet Snowflake CLI die angegebene Konfigurationsdatei.Wenn die Umgebungsvariable
SNOWFLAKE_HOME
eingestellt ist, verwendet Snowflake CLI den durch diese Variable angegebenen Speicherort.Wenn auf Ihrem Computer ein Verzeichnis
~/.snowflake
existiert, verwendet Snowflake CLI die Datei~/.snowflake/config.toml
.Andernfalls verwendet die Snowflake CLI die Datei
config.toml
an einem der folgenden Speicherorte, abhängig von Ihrem Betriebssystem:Linux:
~/.config/snowflake/config.toml
, aber Sie können es mit XDG vars aktualisierenWindows:
%USERPROFILE%\AppData\Local\snowflake\config.toml
Mac:
~/Library/Application Support/snowflake/config.toml
Bemerkung
Bei Snowflake CLI unter MacOS oder Linux muss die Datei config.toml
ihre Dateiberechtigungen darauf beschränken, dass das Lesen und Schreiben nur für den Eigentümer der Datei möglich ist. Um die erforderlichen Dateiberechtigungen festzulegen, führen Sie die folgenden Befehle aus:
chown $USER config.toml
chmod 0600 config.toml
Wählen Sie eine andere Konfigurationsdatei¶
In manchen Situationen, z. B. in Umgebungen mit kontinuierlicher Integration und kontinuierlicher Bereitstellung (CI/CD), ziehen Sie es vielleicht vor, eigene Konfigurationsdateien für Test- und Bereitstellungspipelines zu erstellen, anstatt alle möglichen Konfigurationen in einer einzelnen Snowflake-Standardkonfigurationsdatei zu definieren.
Um eine andere Konfigurationsdatei als Ihre Standarddatei zu verwenden, können Sie die Option --config-file
für den Befehl snow
verwenden, wie gezeigt:
snow --config-file="my_config.toml" connection test
Unterstützung von Systemumgebungsvariablen¶
Snowflake CLI unterstützt die Verwendung von Systemumgebungsvariablen, um Parameterwerte zu überschreiben, die in Ihrer config.toml
-Datei definiert sind, und zwar im folgenden Format:
SNOWFLAKE_<config-section>_<variable>=<value>
Wobei:
<config_section>
ist der Name eines Abschnitts in der Konfigurationsdatei, wobei die Zeiträume (.
) durch Unterstriche (_
) ersetzt werden, z. B.CLI_LOGS
.variable ist der Name einer in diesem Abschnitt definierten Variable, z. B.
path
.
Einige Beispiele sind:
Überschreiben Sie den Parameter
path
im Abschnitt[cli.logs]
in derconfig.toml
-Datei:export SNOWFLAKE_CLI_LOGS_PATH="/Users/jondoe/snowcli_logs"
Legen Sie das Kennwort für die Verbindung
myconnection
fest:export SNOWFLAKE_CONNECTIONS_MYCONNECTION_PASSWORD="*******"
Legen Sie den Standardnamen für die Verbindung fest:
export SNOWFLAKE_DEFAULT_CONNECTION_NAME="myconnection"
Protokollierung konfigurieren¶
Standardmäßig speichert Snowflake CLI Meldungen der Ebenen INFO
, WARNING
und ERROR
automatisch in Protokolldateien. Um die Protokollierung zu deaktivieren oder anzupassen, erstellen Sie in Ihrer config.toml
-Datei einen Abschnitt [cli.logs]
:
[cli.logs]
save_logs = true
level = "info"
path = "/home/<username>/.snowflake/logs"
Wobei:
save_logs
gibt an, ob die Protokolle in Dateien gespeichert werden sollen. Standard:true
.level
gibt an, welche Meldungen in den Protokolldateien gespeichert werden sollen. Wählen Sie eine der folgenden Ebenen aus, die alle Ebenen unterhalb der ausgewählten Ebene einschließt:debug
Warnung
Das Umschalten auf den Protokolliergrad
debug
kann sensible Informationen preisgeben, wie z. B. ausgeführte SQL-Abfragen. Seien Sie vorsichtig, wenn Sie diesen Protokolliergrad aktivieren.info
warning
error
Standard:
info
path
gibt den absoluten Pfad zum Speichern der Protokolldateien an. Das Format des Pfads variiert je nach Betriebssystem:Linux:
path = "/home/<your_username>/.config/snowflake/logs"
MacOS:
path = "/Users/<your_username>/Library/Application Support/snowflake/logs"
Windows:
path = "C:\\Users\\<your_username>\\AppData\\Local\\snowflake\\logs"
Wenn nichts angegeben wird, erstellt der Befehl ein Verzeichnis
logs
am Standardspeicherortconfig.toml
.
Wenn config.toml
automatisch erstellt wurde, enthält Ihre config.toml
-Datei den Abschnitt `` |cli.logs| ``, der mit Standardwerten gefüllt ist.
Die Protokolle eines einzelnen Tages werden an die Datei snowflake-cli.log
angehängt, die später in snowflake-cli.log.YYYY-MM-DD
umbenannt wird, wie gezeigt.
ls logs/
snowflake-cli.log snowflake-cli.log.2024-10-22