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>
Argumentos¶
Nenhum
Opções¶
--replaceSubstitui 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-replaceSubstituir esse objeto, mesmo que o estado não tenha sido alterado. Padrão: falso.
--prune / --no-pruneRemover o conteúdo do estágio antes de carregar os artefatos. Padrão: falso.
-p, --project TEXTCaminho onde o projeto Snowflake está armazenado. O padrão é o diretório de trabalho atual.
--env TEXTCadeia de caracteres no formato key=value. Substitui as variáveis da seção env usada para modelos. Padrão: [].
--connection, -c, --environment TEXTNome da conexão, conforme definido no arquivo
config.toml. Padrão:default.--host TEXTEndereço do host da conexão. Substitui o valor especificado para a conexão.
--port INTEGERPorta para a conexão. Substitui o valor especificado para a conexão.
--account, --accountname TEXTNome atribuído à sua conta Snowflake. Substitui o valor especificado para a conexão.
--user, --username TEXTNome de usuário para se conectar ao Snowflake. Substitui o valor especificado para a conexão.
--password TEXTSenha do Snowflake. Substitui o valor especificado para a conexão.
--authenticator TEXTAutenticador Snowflake. Substitui o valor especificado para a conexão.
--workload-identity-provider TEXTProvedor de identidade de carga de trabalho (AWS, AZURE, GCP, OIDC). Substitui o valor especificado para a conexão.
--private-key-file, --private-key-path TEXTCaminho do arquivo de chave privada Snowflake. Substitui o valor especificado para a conexão.
--token TEXTToken OAuth a ser usado ao se conectar ao Snowflake.
--token-file-path TEXTCaminho para o arquivo com um token OAuth a ser usado ao se conectar ao Snowflake.
--database, --dbname TEXTBanco de dados a ser usado. Substitui o valor especificado para a conexão.
--schema, --schemaname TEXTEsquema de banco de dados a ser usado. Substitui o valor especificado para a conexão.
--role, --rolename TEXTFunção a ser usada. Substitui o valor especificado para a conexão.
--warehouse TEXTWarehouse a ser usado. Substitui o valor especificado para a conexão.
--temporary-connection, -xUses a connection defined with command-line parameters, instead of one defined in config. Default: False.
--mfa-passcode TEXTToken a ser usado para autenticação multifator (MFA).
--enable-diagSe deve gerar um relatório de diagnóstico de conexão. Padrão: falso.
--diag-log-path TEXTCaminho para o relatório gerado. O padrão é o diretório temporário do sistema. Padrão: <system_temporary_directory>.
--diag-allowlist-path TEXTCaminho para um arquivo JSON que contém parâmetros da lista de permissões.
--oauth-client-id TEXTValor do ID de cliente fornecido pelo provedor de identidade para integração com o Snowflake.
--oauth-client-secret TEXTValor do segredo do cliente fornecido pelo provedor de identidade para integração com o Snowflake.
--oauth-authorization-url TEXTPonto de extremidade do provedor de identidade que fornece o código de autorização ao driver.
--oauth-token-request-url TEXTPonto de extremidade do provedor de identidade que fornece os tokens de acesso ao driver.
--oauth-redirect-uri TEXTURI a ser usado para redirecionamento de código de autorização.
--oauth-scope TEXTEscopo solicitado na solicitação de autorização do provedor de identidade.
--oauth-disable-pkceDesativa o Proof Key for Code Exchange (PKCE). Padrão:
False.--oauth-enable-refresh-tokensPermite uma reautenticação silenciosa quando o token de acesso real fica desatualizado. Padrão:
False.--oauth-enable-single-use-refresh-tokensSe o usuário deve optar pela semântica de token de atualização de uso único. Padrão:
False.--client-store-temporary-credentialArmazena a credencial temporária.
--format [TABLE|JSON| JSON_EXT|CSV]Especifica o formato de saída. Padrão: TABLE.
--verbose, -vExibe entradas de log para os níveis de log
infoe superiores. Padrão: falso.--debugExibe entradas de log para níveis de log de
depuraçãoe superiores; os logs de depuração contêm informações adicionais. Padrão: falso.--silentDesliga a saída intermediária para o console. Padrão: falso.
--enhanced-exit-codesDiferencia os códigos de erro de saída com base no tipo de falha. Padrão: falso.
--decimal-precision INTEGERNúmero de casas decimais a serem exibidas para valores decimais. Usará a precisão padrão do Python se não for especificada.
--helpExibe 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
--prunetiver 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.ymlexecutando 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
+-----------------------------------------------------------------------------------+
| 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
╭─ 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() |
╰──────────────────────────────────────────────────────────────────╯