snow snowpark deploy

Implementa procedimentos e funções definidos no projeto. A implantação do projeto altera todos os objetos definidos nele. Por padrão, se algum dos objetos já existir, os comandos falharão, a menos que a sinalização --replace seja fornecida. Os artefatos necessários são implementados antes de criar funções ou procedimentos. As dependências são implementadas uma vez em cada estágio especificado nas definições.

Sintaxe

snow snowpark deploy
  --replace
  --force-replace
  --prune / --no-prune
  --project <project_definition>
  --env <env_overrides>
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --workload-identity-provider <workload_identity_provider>
  --private-key-file <private_key_file>
  --token <token>
  --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
  --decimal-precision <decimal_precision>
Copy

Argumentos

Nenhum

Opções

--replace

Substitui o procedimento ou a função se houver alterações na definição. Ele só faz upload de arquivos novos e substitui os existentes, mas não remove nenhum arquivo que já esteja no estágio. Padrão: falso.

--force-replace

Substituir esse objeto, mesmo que o estado não tenha sido alterado. Padrão: falso.

--prune / --no-prune

Remover o conteúdo do estágio antes de carregar os artefatos. Padrão: falso.

-p, --project TEXT

Caminho onde o projeto Snowflake está armazenado. O padrão é o diretório de trabalho atual.

--env TEXT

Cadeia de caracteres no formato key=value. Substitui as variáveis da seção env usada para modelos. Padrão: [].

--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.

--workload-identity-provider TEXT

Provedor de identidade de carga de trabalho (AWS, AZURE, GCP, OIDC). 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 TEXT

Token OAuth a ser usado ao se conectar ao Snowflake.

--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

Uses a connection defined with command-line parameters, instead of one defined in config. Default: False.

--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| JSON_EXT|CSV]

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.

--decimal-precision INTEGER

Número de casas decimais a serem exibidas para valores decimais. Usará a precisão padrão do Python se não for especificada.

--help

Exibe o texto de ajuda para este comando.

Notas de uso

O comando snow snowpark deploy faz o seguinte:

  • Verifica se os objetos listados para implantação já existem. Se os objetos existirem, você deve usar a opção --replace.

    Nota

    Se quiser atualizar objetos e arquivos, mesmo que eles não tenham sido alterados, você pode usar a opção --force-replace.

  • Cria um estágio no banco de dados especificado para sua conexão. Se nenhum estágio for definido, o comando cria um estágio chamado deployments.

  • Se a opção --prune tiver sido especificada, remove o conteúdo existente do estágio usado pelos procedimentos e objetos de função definidos.

  • Carrega os novos artefatos.

  • Cria os objetos especificados e o arquivo snowflake.yml executando as consultas SQL CREATE PROCEDURE ou CREATE FUNCTION.

O comando implanta o código-fonte e as dependências da compilação mais recente. Se você modificou o código ou adicionou algum requisito desde a última compilação, você deve executar o comando snow snowpark build novamente antes de implantar a nova versão.

Nota

Ao implantar um procedimento armazenado do Snowpark, a Snowflake CLI permite que você carregue artefatos para uma pasta em uma área de preparação. Isto torna possível implantar vários procedimentos em uma única área de preparação.

Se você estiver implantando em uma conta Snowflake diferente, deverá executar o comando snow snowpark build novamente antes da implantação.

Exemplos

O exemplo a seguir mostra como implantar funções e procedimentos no diretório atual.

snow snowpark deploy
Copy
+-----------------------------------------------------------------------------------+
| object                                             | type      | status           |
|----------------------------------------------------+-----------+------------------|
| MY_DATABASE.PUBLIC.HELLO_PROCEDURE(name string)    | procedure | packages updated |
| MY_DATABASE.PUBLIC.TEST_PROCEDURE()                | procedure | created          |
| MY_DATABASE.PUBLIC.HELLO_FUNCTION(name string)     | function  | packages updated |
+-----------------------------------------------------------------------------------+

O exemplo a seguir mostra o que acontece quando os objetos já existem e você os implanta sem especificar a opção --replace.

snow snowpark deploy
Copy
╭─ Error ──────────────────────────────────────────────────────────╮
│ Following objects already exists. Consider using --replace.      |
│ function: MY_DATABASE.PUBLIC.HELLO_FUNCTION(string)              |
│ procedure: MY_DATABASE.PUBLIC.HELLO_PROCEDURE(string)            |
│ procedure: MY_DATABASE.PUBLIC.TEST_PROCEDURE()                   |
╰──────────────────────────────────────────────────────────────────╯