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
Copy

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 no STAGE_PATH especificado e executa EXECUTE 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ório dir.

    • Caminho direto do arquivo, como @scripts/script.sql, que executa apenas o arquivo script.sql do scripts.

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"
    
    Copy
    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ório dir:

    snow stage execute "@scripts/dir/*"
    
    Copy
    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ório dir que começa com «script», seguido por um caractere:

    snow stage execute "@scripts/script?.sql"
    
    Copy
    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
    
    Copy
    +---------------------------------------+
    | File                | Status  | Error |
    |---------------------+---------+-------|
    | scripts/script1.sql | SUCCESS | None  |
    +---------------------------------------+