snow stage execute¶
Execute imediatamente todos os arquivos do caminho do estágio. Os arquivos podem ser filtrados com um padrão tipo glob, por exemplo, @stage/*.sql
e @stage/dev/*
. Somente arquivos com extensão .sql
serão executados.
Sintaxe¶
snow stage execute
<stage_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¶
stage_path
Caminho do estágio com arquivos a serem executados. Por exemplo,
@stage/dev/*
.
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.
O comando procura por arquivos com uma extensão
.sql
noSTAGE_PATH
especificado e executaEXECUTE IMMEDIATE
em cada um deles.STAGE_PATH
pode ser:Apenas um nome de estágio, como
@scripts
, que executa todos os arquivos.sql
no estágio.Padrão semelhante a um glob, como
@scripts/dir/*
, que executa arquivos.sql
do diretóriodir
.Caminho direto do arquivo, como
@scripts/script.sql
, que executa apenas o arquivoscript.sql
doscripts
.
A opção --silent
oculta mensagens intermediárias com resultados de execução de arquivo.
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¶
Especifique apenas um nome de estágio para executar todos os arquivos
.sql
no estágio:snow stage execute "@scripts"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
Especifique um padrão semelhante a um glob para executar todos os arquivos
.sql
no diretóriodir
:snow stage execute "@scripts/dir/*"
SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
Especifique um padrão semelhante a um glob para executar somente arquivos
.sql
no diretóriodir
que começa com «script», seguido por um caractere:snow stage execute "@scripts/script?.sql"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql +---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | +---------------------------------------+
Especifique um caminho de arquivo direto com a opção
--silent
:snow stage execute "@scripts/script1.sql" --silent
+---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | +---------------------------------------+