snow git execute¶
Executa imediatamente todos os arquivos do caminho do repositório. Os arquivos podem ser filtrados com um padrão tipo glob, por exemplo, @my_repo/branches/main/*.sql
e @my_repo/branches/main/dev/*
. Somente arquivos com extensão .sql
ou .py
serão executados.
Sintaxe¶
snow git execute
<repository_path>
--on-error <on_error>
--variable <variables>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--format <format>
--verbose
--debug
--silent
Argumentos¶
repository_path
Caminho para o estágio do repositório git com escopo fornecido. O caminho para a raiz do repositório deve terminar com “/”. Por exemplo: @my_repo/branches/main/.
Opções¶
--on-error [break|continue]
O que fazer quando ocorre um erro. O padrão é defeito. Padrão: pausa.
--variable, -D TEXT
Variáveis para o contexto de execução; por exemplo:
-D "<key>=<value>"
. Para arquivos SQL, as variáveis são usadas para expandir o modelo, e qualquer variável desconhecida causará um erro (considere incorporar aspas no arquivo). Para arquivos Python, as variáveis são usadas para atualizar o dicionário os.environ. As chaves fornecidas são escritas em maiúsculas para respeitar as práticas recomendadas. No caso de arquivos SQL, valores de cadeia de caracteres devem ser colocados entre aspas''
(considere incorporar aspas no arquivo).--connection, -c, --environment TEXT
Nome da conexão, conforme definido no arquivo
config.toml
. Padrão:padrão
.--host TEXT
Endereço do host da conexão. Substitui o valor especificado para a conexão.
--port INTEGER
Porta para a conexão. Substitui o valor especificado para a conexão.
--account, --accountname TEXT
Nome atribuído à sua conta Snowflake. Substitui o valor especificado para a conexão.
--user, --username TEXT
Nome de usuário para se conectar ao Snowflake. Substitui o valor especificado para a conexão.
--password TEXT
Senha do Snowflake. Substitui o valor especificado para a conexão.
--authenticator TEXT
Autenticador Snowflake. Substitui o valor especificado para a conexão.
--private-key-file, --private-key-path TEXT
Caminho do arquivo de chave privada Snowflake. Substitui o valor especificado para a conexão.
--token-file-path TEXT
Caminho para o arquivo com um token OAuth que deve ser usado ao conectar-se ao Snowflake.
--database, --dbname TEXT
Banco de dados a ser usado. Substitui o valor especificado para a conexão.
--schema, --schemaname TEXT
Esquema de banco de dados a ser usado. Substitui o valor especificado para a conexão.
--role, --rolename TEXT
Função a ser usada. Substitui o valor especificado para a conexão.
--warehouse TEXT
Warehouse a ser usado. Substitui o valor especificado para a conexão.
--temporary-connection, -x
Usa conexão definida com parâmetros de linha de comando, em vez de uma definida na configuração. Padrão: falso.
--mfa-passcode TEXT
Token a ser usado para autenticação multifator (MFA).
--enable-diag
Execução do teste de diagnóstico do conector Python. Padrão: falso.
--diag-log-path TEXT
Caminho do relatório de diagnóstico. Padrão: <temporary_directory>.
--diag-allowlist-path TEXT
Caminho do relatório de diagnóstico para a lista de permissões opcional.
--format [TABLE|JSON]
Especifica o formato de saída. Padrão: TABLE.
--verbose, -v
Exibe entradas de log para níveis de log
info
e superior. Padrão: falso.--debug
Exibe entradas de log para níveis de log de
depuração
e superiores; os logs de depuração contêm informações adicionais. Padrão: falso.--silent
Desliga a saída intermediária para o console. Padrão: falso.
--help
Exibe o texto de ajuda para este comando.
Notas de uso¶
Você pode usar padrões semelhantes a globs para filtrar os arquivos, como @my_repo/branches/main/*.sql
e @my_repo/branches/main/dev/*
. O comando executa apenas arquivos com uma extensão .sql
.
Ao usar modelos Jinja para arquivos SQL, você pode passar variáveis de modelo usando a opção -D
ou (--variable)
, como valor -D "<chave>=<>"
. Você deve colocar os valores da cadeia de caracteres entre aspas simples (''
).
Exemplos¶
O exemplo a seguir mostra como executar comandos SQL em todos os arquivos dentro do diretório project
que corresponde a uma expressão regular.
snow git execute "@git_test/branches/main/projects/script?.sql"
SUCCESS - git_test/branches/main/projects/script1.sql
SUCCESS - git_test/branches/main/projects/script2.sql
SUCCESS - git_test/branches/main/projects/script3.sql
+---------------------------------------------------------------+
| File | Status | Error |
|---------------------------------------------+---------+-------|
| git_test/branches/main/projects/script1.sql | SUCCESS | None |
| git_test/branches/main/projects/script2.sql | SUCCESS | None |
| git_test/branches/main/projects/script3.sql | SUCCESS | None |
+---------------------------------------------------------------+