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>
--oauth-client-id <oauth_client_id>
--oauth-client-secret <oauth_client_secret>
--oauth-authorization-url <oauth_authorization_url>
--oauth-token-request-url <oauth_token_request_url>
--oauth-redirect-uri <oauth_redirect_uri>
--oauth-scope <oauth_scope>
--oauth-disable-pkce
--oauth-enable-refresh-tokens
--oauth-enable-single-use-refresh-tokens
--client-store-temporary-credential
--format <format>
--verbose
--debug
--silent
--enhanced-exit-codes
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:default
.--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 a ser usado ao se conectar 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 uma 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
Se deve gerar um relatório de diagnóstico de conexão. Padrão: falso.
--diag-log-path TEXT
Caminho para o relatório gerado. O padrão é o diretório temporário do sistema. Padrão: <system_temporary_directory>.
--diag-allowlist-path TEXT
Caminho para um arquivo JSON que contém parâmetros da lista de permissões.
--oauth-client-id TEXT
Valor do ID de cliente fornecido pelo provedor de identidade para integração com o Snowflake.
--oauth-client-secret TEXT
Valor do segredo do cliente fornecido pelo provedor de identidade para integração com o Snowflake.
--oauth-authorization-url TEXT
Ponto de extremidade do provedor de identidade que fornece o código de autorização ao driver.
--oauth-token-request-url TEXT
Ponto de extremidade do provedor de identidade que fornece os tokens de acesso ao driver.
--oauth-redirect-uri TEXT
URI a ser usado para redirecionamento de código de autorização.
--oauth-scope TEXT
Escopo solicitado na solicitação de autorização do provedor de identidade.
--oauth-disable-pkce
Desativa o Proof Key for Code Exchange (PKCE). Padrão:
False
.--oauth-enable-refresh-tokens
Permite uma reautenticação silenciosa quando o token de acesso real fica desatualizado. Padrão:
False
.--oauth-enable-single-use-refresh-tokens
Se o usuário deve optar pela semântica de token de atualização de uso único. Padrão:
False
.--client-store-temporary-credential
Armazena a credencial temporária.
--format [TABLE|JSON]
Especifica o formato de saída. Padrão: TABLE.
--verbose, -v
Exibe entradas de log para os níveis de log
info
e superiores. 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.
--enhanced-exit-codes
Diferencia os códigos de erro de saída com base no tipo de falha. Padrão: falso.
--help
Exibe o texto de ajuda para este comando.
Notas de uso¶
Nota
Snowflake CLI não oferece suporte à execução de arquivos Python para as versões 3.12 e superiores do Python.
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 |
+---------------------------------------------------------------+