Upgrade de um aplicativo como consumidor¶
Este tópico descreve como um consumidor pode fazer upgrade de um Snowflake Native App que está instalado em sua conta.
Visão geral dos upgrades¶
Em geral, quando um provedor publica uma versão atualizada ou um patch de um aplicativo, o aplicativo é atualizado automaticamente na conta do consumidor. O upgrade automatizado ocorre para todas as instâncias do aplicativo em todas as contas Snowflake em que o aplicativo está instalado.
Pode levar algum tempo para que todas as instâncias do aplicativo sejam atualizadas. No entanto, os consumidores podem fazer upgrade manualmente de um aplicativo depois que uma nova versão de patch for publicada, desde que o upgrade da instância instalada em sua conta não tenha sido iniciado. Além disso, os provedores podem especificar a data e a hora em que ocorrerá um upgrade automatizado.
Atualização manual de um aplicativo¶
Upgrades manuais permitem que um consumidor atualize um aplicativo quando um provedor publica uma nova versão ou patch.
Para fazer o upgrade de um Snowflake Native App instalado para a versão mais recente disponível, um consumidor pode usar a cláusula UPGRADE do comando ALTER APPLICATION para modificar o aplicativo:
ALTER APPLICATION hello_snowflake_app UPGRADE;
Esse comando inicia a atualização de uma versão instalada ou de um patch de um aplicativo usando a diretriz de lançamento especificada no pacote do aplicativo.
Upgrade de um aplicativo em uma data e hora específicas¶
Ao publicar uma nova versão de um aplicativo, os provedores podem especificar uma data e hora em que o aplicativo será atualizado. Essa data e hora especificam a data mais próxima em que o aplicativo pode ser atualizado.
Os consumidores podem criar uma tarefa para fazer upgrade do aplicativo em um momento específico.
CREATE OR REPLACE TASK APP_UPGRADE_TASK
SCHEDULE = 'USING CRON 0 9-17 * * SUN America/Los_Angeles'
WAREHOUSE = 'WH'
AS
ALTER APPLICATION hello_snowflake_app UPGRADE;
ALTER TASK APP_UPGRADE_TASK RESUME;
Esse exemplo tenta atualizar o aplicativo a cada hora, começando às 9:00 e terminando às 17:00 aos domingos (fuso horário America/Los_Angeles).
Monitorar o status de um upgrade¶
Os consumidores podem usar o comando DESCRIBE APPLICATION para visualizar o status de um upgrade. As colunas a seguir fornecem informações específicas sobre upgrades:
Coluna
Descrição
upgrade_after
Indica que o provedor programou um upgrade para começar nesse momento. No entanto, o aplicativo pode ser atualizado antes dessa data e hora. Para obter mais informações, consulte Atualização manual de um aplicativo.
upgrade_state
O estado atual da instalação ou atualização em segundo plano do objeto de aplicativo. Os valores válidos são:
INSTALLING
: o objeto do aplicativo está em processo de criação.
INSTALL_FAILED
: a criação do objeto de aplicativo falhou. O objeto do aplicativo permanece no estadoINSTALL_FAILED
até ser descartado. Veja a colunaUPGRADE_FAILURE_REASON
do comando DESCRIBE APPLICATION para obter informações sobre o motivo da falha na instalação ou atualização.
COMPLETE
: o script de configuração foi concluído com êxito e o objeto do aplicativo foi criado ou atualizado.
QUEUED
: o objeto do aplicativo está na fila para atualização.
UPGRADING
: o objeto do aplicativo está em processo de atualização.
FAILED
: todas as tentativas de atualização falharam. O motivo da falha está listado na colunaUPGRADE_FAILURE_REASON
, se houver. A instância permanece no estadoFAILED
até que uma diretriz de versão seja atualizada para apontar para uma versão diferente daquela para a qual a atualização foi direcionada, conforme definido na colunaTARGET_UPGRADE_VERSION
.
QUEUED_RETRY
: a instância falhou em uma ou mais tentativas de atualização. O motivo da falha é indicado emUPGRADE_FAILURE_REASON
: a instância está na fila para realizar outra tentativa de atualização.
DISABLED
: o objeto do aplicativo e suas atualizações foram desativados. Nesse estado, a instância ficará inacessível para os consumidores, não será considerada para atualizações e não bloqueará a queda da versão do pacote de aplicativos. O motivo da falha está listado na colunaUPGRADE_FAILURE_REASON
, se houver.
upgrade_target_version
O identificador da versão para a qual o aplicativo está sendo atualizado.
upgrade_target_patch
O patch para o qual o objeto de aplicativo está sendo atualizado.