snow dcm deploy

Implanta alterações do projeto local no Snowflake, criando, alterando ou descartando objetos para corresponder aos seus arquivos de definição.

Sintaxe

snow dcm deploy
  <identifier>
  --from <from_location>
  --variable <variables>
  --alias <alias>
  --target <target>
  --save-output
  --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

identifier

Identificador do DCM Project. Exemplo: MY_DB.MY_SCHEMA.MY_PROJECT. É compatível com nomes totalmente qualificados (recomendado) ou simples. Se não for qualificado, o padrão será o banco de dados e o esquema da conexão. Opcional se --target ou default_target estiver definido no manifesto.

Opções

--from PATH

Caminho do diretório local contendo arquivos de projeto DCM. Omita para usar o diretório atual.

--variable, -D TEXT

Variáveis ​​para o contexto de execução; por exemplo: -D "<key>=<value>".

--alias TEXT

Alias ​​para a implantação.

--target TEXT

Perfil de destino do manifest.yml a ser utilizado. Usa default_target se não for especificado.

--save-output

Salva a resposta do comando e os artefatos no diretório local “out/”. Padrão: sem valor. False.

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

Usa uma conexão definida com parâmetros de linha de comando, em vez de uma definida na configuração. Padrão: sem valor. 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. Usa a precisão padrão do Python se nada for especificado. [variável de ambiente: SNOWFLAKE_DECIMAL_PRECISION].

--help

Exibe o texto de ajuda para este comando.

Notas de uso

O comando snow dcm deploy implanta alterações de projeto local no Snowflake, criando, alterando ou descartando objetos para corresponder aos arquivos de definição.

Quando você implanta um DCM project, as seguintes ações são realizadas:

  • Objetos que estão definidos, mas ainda não existem, são criados.

  • Objetos que já existem, mas diferem da definição atual, são alterados.

  • Objetos que já existem e não têm diferenças entre o estado e a definição permanecem inalterados.

  • Objetos que já existem, mas não estão mais definidos, são descartados.

  • Objetos que existiam anteriormente e cujas definições foram adicionadas recentemente ao DCM project são adicionados aos objetos gerenciados por esse DCM project.

Nota

Esse comando carrega automaticamente arquivos SQL de origem locais para uma área de preparação temporária no Snowflake, de modo que o conteúdo impacte o resultado final da operação.

Use a opção --save-output para salvar os resultados da implantação em um arquivo local out/deploy.json.

Para obter mais informações sobre o processo de implantação, consulte Implantar um DCM project.

Exemplos

  • Implante um objeto DCM project com as opções padrão, em que o nome do projeto é especificado no destino identificado pela propriedade default_target no manifesto:

    snow dcm deploy
    
  • Implante um objeto DCM project em que o nome do projeto é especificado no destino DEV no manifesto:

    snow dcm deploy --target DEV
    
  • Implante um objeto DCM project com um nome totalmente qualificado explícito:

    snow dcm deploy MY_DB.MY_SCHEMA.MY_PROJECT
    
  • Implante um projeto do DCM project em que o nome do projeto é especificado no destino DEV no manifesto, especifique o valor para a variável db_name e defina o alias de implantação como v3:

    snow dcm deploy --target DEV --variable db_name=jdoe --alias v3
    
  • Implante um objeto DCM project de um diretório específico e salve a saída:

    snow dcm deploy --from /path/to/project --save-output