snow app publish¶
Adiciona a versão ao canal de lançamento e atualiza a diretriz de versão com a nova versão e o patch.
Sintaxe¶
snow app publish
--version <version>
--patch <patch>
--channel <channel>
--directive <directive>
--interactive / --no-interactive
--force
--create-version
--from-stage
--label <label>
--package-entity-id <package_entity_id>
--app-entity-id <app_entity_id>
--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
Argumentos¶
Nenhum
Opções¶
--version TEXTA versão a ser publicada no canal de lançamento e na diretriz de versão fornecidos. É necessário que a versão exista, a menos que o sinalizador
--create-versionseja usado.--patch INTEGERO número do patch na versão fornecida. Isso será usado ao definir a diretriz de versão. É necessário que o patch exista, a menos que o sinalizador
--create-versionseja usado.--channel TEXTO nome do canal de lançamento para o qual publicar. Se não for fornecido, será usado o canal de lançamento padrão. Padrão: DEFAULT.
--directive TEXTO nome da diretriz de versão a ser atualizada com a versão e o patch especificados. Se não for fornecida, será usada a diretriz de versão padrão. Padrão: DEFAULT.
--interactive / --no-interactiveQuando ativada, esta opção exibe prompts mesmo que a entrada e a saída padrão não sejam dispositivos terminais. O padrão é True em um ambiente shell interativo e False caso contrário.
--forceQuando ativada, esta opção faz com que o comando aprove implicitamente quaisquer prompts que surjam. Você deve habilitar esta opção se o modo interativo não estiver especificado e se quiser executar ações potencialmente destrutivas. O padrão é não definido. Padrão: falso.
--create-versionCrie uma nova versão ou patch com base nos valores fornecidos
--versione--patch. Fallback aos valores do manifesto se não forem fornecidos. Padrão: falso.--from-stageQuando ativado, o Snowflake CLI cria uma versão do estágio atual do pacote do aplicativo sem sincronizar com o estágio primeiro. Só pode ser usado com o sinalizador
--create-version. Padrão: falso.--label TEXTUm rótulo para a versão que é exibida aos consumidores. Só pode ser usado com o sinalizador
--create-version.--package-entity-id TEXTO ID da entidade do pacote no qual a operação é feita quando definition_version for 2 ou superior.
--app-entity-id TEXTO ID da entidade do aplicativo no qual a operação é feita quando definition_version for 2 ou superior.
-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, -xUsa uma conexão definida com parâmetros de linha de comando, em vez de uma definida na configuração. Padrão: falso.
--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.
--helpExibe o texto de ajuda para este comando.
Notas de uso¶
O comando snow app publish permite adicionar versões de Snowflake Native App a um canal de lançamento e, em seguida, define a diretriz de versão selecionada para usar a versão e o patch fornecidos.
Para obter mais informações sobre os canais de lançamento e as diretrizes de versão, consulte Publicação de um Snowflake Native App para os clientes.
Nota
O recurso de canais de lançamento pode não estar disponível em todas as regiões. Entre em contato com o suporte Snowflake para obter mais informações.
Se o recurso de canal de lançamento não estiver disponível, você poderá ignorar o parâmetro --channel desse comando.
Esse comando adiciona a versão especificada ao canal de lançamento. Se o canal de lançamento tiver atingido o número máximo de versões, a versão mais antiga não referenciada por nenhuma diretriz de versão será removida do canal de lançamento. Depois que a versão é adicionada ao canal de lançamento, a diretriz de versão dentro do canal de lançamento é atualizada para usar a versão e o patch fornecidos.
Se os canais de lançamento não estiverem ativados para o pacote do aplicativo, somente a diretriz de versão será atualizada para usar a versão e o patch fornecidos. Quando um canal de lançamento não é fornecido ou quando se usa o canal de lançamento padrão, você pode usar os mesmos comandos, quer os canais de lançamento estejam ativados ou não.
Esse comando pressupõe que a versão e o patch já existam no pacote do aplicativo. Se a versão e o patch não existirem, o comando falhará.
Para criar uma nova versão ou patch ao usar esse comando, use a opção --create-version. Ao usar essa opção, você pode usar opções como --from-stage ou --label. Para obter mais informações, consulte também o comando snow app version create.
As regras para a criação de uma nova versão são as mesmas do comando snow app version create. Em outras palavras, o Snowflake CLI usa a mesma lógica de fallback para o arquivo de manifesto se o campo de versão estiver ausente.
Exemplos¶
Publique a versão v1 e o patch 2 na diretriz de versão padrão do canal de lançamento padrão ou na diretriz de versão padrão do pacote. Neste exemplo, os canais de lançamento não estão ativados:
snow app publish --version v1 --patch 2
Publique a versão v1 e o patch 2 na diretriz de versão
customers_group_1do canal de lançamento ALPHA:snow app publish --version v1 --patch 2 --channel ALPHA --directive customers_group_1
Publique a versão v1 e o patch 2 na diretriz de versão padrão do canal de lançamento QA:
snow app publish --version v1 --patch 2 --channel QA
Crie uma nova versão e publique-a na diretriz de versão personalizada
early_adoptersdo canal de lançamento padrão:snow app publish --version v2 --create-version --directive early_adopters
Adicione um patch a uma versão existente e publique-o na diretriz de versão padrão do canal de lançamento padrão. Você deve usar
--create-versione fornecer o número do patch ou omiti-lo para usar o próximo número de patch disponível:snow app publish --version v2 --create-version
Crie um novo patch a partir do conteúdo do estágio sem sincronizar os arquivos com o estágio primeiro e publique-o na diretriz de versão padrão do canal de lançamento padrão:
snow app publish --version v2 --patch 11 --create-version --from-stage