Snowflake CLI の構成¶
Snowflake CLI は、 config.toml
というグローバル・構成ファイルを使って、 Snowflake CLI の接続とログを構成します。このファイルが存在しない場合、何らかの:codenowrap:snow
コマンドを初めて実行すると、自動的に空の config.toml
ファイルが作成され、そのファイルに目的の接続を入力できるようになります。 toml
ファイルフォーマットの詳細については、 TOML (Tom's Obvious Minimal Language) をご参照ください。Snowflake Pythonライブラリは現在、 TOML バージョン1.0.0をサポートしています。
config.toml
は次の設定をサポートしています。
[コネクション] コネクションの定義と管理
[ログ]どのタイプのメッセージをログファイルに保存するかを構成する
Snowflake CLI 構成ファイルの構造は以下の通りです。
[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"
.toml
構成ファイルの場所¶
デフォルトでは、 Snowflake CLI は、 ~/.snowflake
ディレクトリにある config.toml
ファイルを探すか、このディレクトリが存在しない場合は、以下に示すシステム固有の場所にある ファイルを探します。また、--config-file
フラグまたは:codenowrap:SNOWFLAKE_HOME
環境変数を使用して、どの構成ファイルを使用するかを指定することもできます。
--config-file
オプションを指定すると(snow --config-file ./my-config-file-path
のように)、 Snowflake CLI は指定された構成ファイルを使用します。SNOWFLAKE_HOME
環境変数が設定されている場合、 Snowflake CLI はこの変数で指定された場所を使用します。マシンに
~/.snowflake
ディレクトリが存在する場合、 Snowflake CLI は~/.snowflake/config.toml
ファイルを使用します。そうでない場合、 Snowflake CLI はオペレーティングシステムに応じて、次のいずれかの場所にある
config.toml
ファイルを使用します。Linux:
~/.config/snowflake/config.toml
、ただし、 XDG 変数で更新可Windows:
%USERPROFILE%\AppData\Local\snowflake\config.toml
Mac:
~/Library/Application Support/snowflake/config.toml
注釈
MacOS およびLinuxシステムの場合、 Snowflake CLI は、 config.toml
ファイルの権限を、ファイル所有者のみが読み取りおよび書き込みできるように制限する必要があります。ファイルに必要なファイル権限を設定するには、次のコマンドを実行します。
chown $USER config.toml
chmod 0600 config.toml
別の構成ファイルを選択する¶
継続的インテグレーション、継続的デプロイメント(CI/CD)環境などの状況によっては、Snowflakeのデフォルト構成ファイルで可能なすべての構成を定義する代わりに、テストおよびデプロイメントパイプライン専用の構成ファイルを作成する方がよい場合があります。
デフォルト・ファイルとは異なる構成ファイルを使用するには、次のように:codenowrap:snow
コマンドの:codenowrap:--config-file
オプションを使用します。
snow --config-file="my_config.toml" connection test
システム環境変数のサポート¶
Snowflake CLI は、システム環境変数を使用して、 config.toml
ファイルで定義されたパラメータ値を以下の形式で上書きすることをサポートしています:
SNOWFLAKE_<config-section>_<variable>=<value>
条件:
<config_section>
は、構成ファイルのセクション名で、ピリオド (.
) をアンダースコア(_
) に置き換えたものです。例:CLI_LOGS
。変数は、このセクションで定義された変数の名前です。 例えば:codenowrap:
パス
です。
例は次のとおりです:
config.toml
ファイルの:codenowrap:[cli.logs]
セクションのpath
パラメーターをオーバーライドします。export SNOWFLAKE_CLI_LOGS_PATH="/Users/jondoe/snowcli_logs"
myconnection
接続のパスワードを設定します。export SNOWFLAKE_CONNECTIONS_MYCONNECTION_PASSWORD="*******"
デフォルトの接続名を設定する:
export SNOWFLAKE_DEFAULT_CONNECTION_NAME="myconnection"
ログの構成¶
デフォルトでは、 Snowflake CLI は自動的に INFO
、 WARNING
、 ERROR
レベルのメッセージをログファイルに保存します。ログを無効化またはカスタマイズするには、 config.toml
ファイルに [cli.logs]
セクションを作成します。
[cli.logs]
save_logs = true
level = "info"
path = "/home/<username>/.snowflake/logs"
条件:
save_logs
は、ログをファイルに保存するかどうかを示します。デフォルト:true
。level
はログファイルに保存するメッセージのレベルを指定します。次のレベルから選択します。選択したレベル以下のすべてのレベルが含まれます。debug
警告
ログレベルを
debug
に切り替えると、実行された SQL クエリなどの機密情報が公開される可能性があります。このレベルを有効にする場合は注意してください。info
warning
error
デフォルト:
info
path
はログファイルを保存する絶対パスを指定します。パスの形式は、次に示されるようにオペレーティングシステムに応じて異なります。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"
指定しない場合は、デフォルトの
config.toml
ファイルの場所にlogs
ディレクトリを作成します。
config.toml
が自動的に作成された場合、 config.toml
ファイルにはデフォルト値が入力された `` |cli.logs| `` セクションが含まれます。
1日のログがファイル snowflake-cli.log
に追加され、後で snowflake-cli.log.YYYY-MM-DD
に名前が変更されます。
ls logs/
snowflake-cli.log snowflake-cli.log.2024-10-22