Configuração do Snowflake CLI¶
Snowflake CLI usa um arquivo de configuração global chamado config.toml
para configurar conexões e logs para Snowflake CLI. Se o arquivo não existir, executar qualquer comando snow
pela primeira vez criará automaticamente um arquivo config.toml
vazio que você poderá preencher com as conexões desejadas. Para obter mais informações sobre formatos de arquivo toml
, consulte TOML (Tom’s Obvious Minimal Language). As bibliotecas Snowflake Python atualmente oferecem suporte a TOML versão 1.0.0.
O config.toml
oferece suporte às seguintes seções:
[conexões] para definir e gerenciar conexões
[logs] para configurar quais tipos de mensagens são salvas em arquivos de log
Um arquivo de configuração Snowflake CLI tem a seguinte estrutura:
[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"
Local do arquivo de configuração .toml
¶
Por padrão, Snowflake CLI procura o arquivo config.toml
no diretório ~/.snowflake
ou, caso este diretório não exista, em um local específico do sistema, conforme listado abaixo. Você também pode especificar qual arquivo de configuração deve ser usado usando o sinalizador --config-file
ou a variável de ambiente SNOWFLAKE_HOME
.
Se você especificar a opção
--config-file
(comosnow --config-file ./my-config-file-path
), Snowflake CLI usará o arquivo de configuração especificado.Se a variável de ambiente
SNOWFLAKE_HOME
estiver definida, Snowflake CLI usa o local especificado por esta variável.Se existir um diretório
~/.snowflake
em sua máquina, o Snowflake CLI usará o arquivo~/.snowflake/config.toml
.Caso contrário, o Snowflake CLI usará o arquivo
config.toml
em um dos seguintes locais, com base em seu sistema operacional:Linux:
~/.config/snowflake/config.toml
, mas é possível atualizá-lo com variáveis XDGWindows:
%USERPROFILE%\AppData\Local\snowflake\config.toml
Mac:
~/Library/Application Support/snowflake/config.toml
Nota
Para sistemas MacOS e Linux, Snowflake CLI exige o arquivo config.toml
para limitar suas permissões de leitura e gravação somente para o proprietário do arquivo. Para definir as permissões de arquivo necessárias, execute os seguintes comandos:
chown $USER config.toml
chmod 0600 config.toml
Escolha um arquivo de configuração diferente¶
Em algumas situações, como ambientes de integração contínua e implantação contínua (CI/CD), você pode preferir criar arquivos de configuração dedicados para pipelines de teste e implementação em vez de definir todas as configurações possíveis em um único arquivo de configuração padrão do Snowflake.
Para usar um arquivo de configuração diferente de seu arquivo padrão, é possível usar a opção --config-file
para o comando snow
, conforme mostrado:
snow --config-file="my_config.toml" connection test
Suporte para variáveis de ambiente do sistema¶
Snowflake CLI oferece suporte ao uso de variáveis de ambiente do sistema para substituir valores de parâmetro definidos em seu arquivo config.toml
, usando o seguinte formato:
SNOWFLAKE_<config-section>_<variable>=<value>
onde:
<config_section>
é o nome de uma seção no arquivo de configuração com pontos (.
) substituídos por sublinhados (_
), comoCLI_LOGS
.variável é o nome de uma variável definida naquela seção, como
caminho
.
Alguns exemplos incluem:
Substitua o parâmetro de
path
na seção[cli.logs]
no arquivoconfig.toml
:export SNOWFLAKE_CLI_LOGS_PATH="/Users/jondoe/snowcli_logs"
Defina a senha para a conexão
myconnection
:export SNOWFLAKE_CONNECTIONS_MYCONNECTION_PASSWORD="*******"
Defina o nome da conexão padrão:
export SNOWFLAKE_DEFAULT_CONNECTION_NAME="myconnection"
Configuração do registro em log¶
Por padrão, Snowflake CLI salva automaticamente as mensagens de nível INFO
, WARNING
e ERROR
em arquivos de log. Para desabilitar ou personalizar o registro, crie uma seção [cli.logs]
em seu arquivo config.toml
:
[cli.logs]
save_logs = true
level = "info"
path = "/home/<username>/.snowflake/logs"
onde:
save_logs
indica se os logs devem ser salvos em arquivos. Padrão:true
.level
especifica quais níveis de mensagens salvar nos arquivos de log. Escolha entre os seguintes níveis, que incluem todos os níveis abaixo do selecionado:debug
Aviso
Mudando para o nível de registro em log
debug
pode expor informações confidenciais, como consultas SQL. Tenha cuidado ao habilitar este nível.info
warning
error
Padrão:
info
path
especifica o caminho absoluto para salvar os arquivos de log. O formato do caminho varia de acordo com o seu sistema operacional, conforme mostrado:Linux:
path = "/home/<seu_nome_de_usuário>/.config/snowflake/logs"
MacOS:
path = "/Users/<seu_nome_de_usuário>/Library/Application Support/snowflake/logs"
Windows:
path = "C:\\Users\\<seu_nome_de_usuário>\\AppData\\Local\\snowflake\\logs"
Se não for especificado, o comando cria um diretório
logs
na localização padrãoconfig.toml
do arquivo.
Se oseu config.toml
foi criado automaticamente, o arquivo config.toml
contém a seção `` |cli.logs| `` preenchida com valores padrão.
Os registros de um único dia são anexados ao arquivo snowflake-cli.log
, que mais tarde foi renomeado para snowflake-cli.log.YYYY-MM-DD
, como mostrado.
ls logs/
snowflake-cli.log snowflake-cli.log.2024-10-22