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
Copy

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"
Copy
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  |
+---------------------------------------------------------------+