Publicar um aplicativo usando canais de lançamento¶
Este tópico descreve como usar canais de lançamento para gerenciar e publicar várias versões de um Snowflake Native App.
Privilégios necessários para usar os canais de lançamento¶
Para usar os canais de lançamento, você deve usar uma função que tenha recebido o privilégio MANAGE RELEASES. Esse privilégio permite que você:
Habilite os canais de lançamento no pacote de aplicativos.
Habilite os canais de lançamento QA e ALPHA.
Registre e cancele o registro de versões e patches.
Adicione versões e patches.
Defina a diretriz de lançamento.
Habilitar canais de lançamento para um pacote de aplicativos¶
If you disabled release channels when you created an application package, you can enable them using the ENABLE_RELEASE_CHANNELS clause of the application package as shown in the following commands:
CREATE APPLICATION PACKAGE my_app_package ENABLE_RELEASE_CHANNELS=TRUE;
ALTER APPLICATION PACKAGE my_app_package SET ENABLE_RELEASE_CHANNELS=TRUE;
Aviso
Depois que os canais de lançamento são habilitados para um pacote de aplicativos, eles não podem ser desabilitados.
Habilitar os canais de lançamento ALPHA e QA¶
Por padrão, somente o canal de lançamento DEFAULT está disponível para todos os consumidores e permite que eles instalem um aplicativo a partir de uma listagem à qual tenham acesso.
Para usar os canais de lançamento QA e ALPHA, os provedores devem habilitá-los explicitamente no pacote de aplicativos para contas específicas. Para esses canais, o pacote de aplicativos mantém uma lista de contas que foram adicionadas a cada canal.
Os provedores podem adicionar uma conta a um canal de lançamento usando a cláusula MODIFY RELEASE CHANNEL do comando ALTER APPLICATION.
Para adicionar a conta ORG1.ACCOUNT1 ao canal de lançamento ALPHA:
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA ADD ACCOUNTS=(ORG1.ACCOUNT1);
Para remover a conta ORG1.ACCOUNT1 do canal de lançamento ALPHA:
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA REMOVE ACCOUNTS=(ORG1.ACCOUNT1);
Para sobrescrever a lista atual de contas adicionadas a um canal de lançamento, um provedor pode usar a cláusula SET do comando ALTER APPLICATION PACKAGE, conforme mostrado no exemplo a seguir:
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA SET ACCOUNTS=(ORG1.ACCOUNT2);
Esse comando remove todas as contas atuais do canal de lançamento ALPHA e adiciona a conta ORG1.ACCOUNT2.
Monitoramento dos canais de lançamento¶
Visualizar os canais de lançamento definidos em um pacote de aplicativos ou listagem¶
Para visualizar os canais de lançamento definidos no pacote de aplicativos, use o comando SHOW RELEASE CHANNELS, conforme mostrado no exemplo a seguir:
SHOW RELEASE CHANNELS IN APPLICATION PACKAGE my_app_package;
Para visualizar os canais de lançamento definidos para uma listagem, use o comando SHOW RELEASE CHANNELS, conforme mostrado no exemplo a seguir:
SHOW RELEASE CHANNELS IN LISTING <listing_id>;
Exibir o canal de lançamento de um aplicativo instalado¶
Para visualizar os canais de lançamento de todas as instâncias instaladas de um aplicativo, veja a coluna current_release_channel_name da visualização SNOWFLAKE.DATA_SHARING_USAGE.APPLICATION_STATE.
Gerenciar versões e patches usando canais de lançamento¶
Os provedores devem adicionar uma versão ou patch a um canal de lançamento específico antes de poderem ser usados pelas diretivas de lançamento dentro de um canal de lançamento. Depois que uma versão é adicionada a um canal de lançamento, os patches subsequentes para essa versão também são vinculados a esse canal de lançamento para serem usados.
Nota
A cláusula ADD VERSION USING ‘@stage/path’ do comando ALTER APPLICATION PACKAGE não é compatível com os pacotes de aplicativos que têm canais de lançamento ativados. Os provedores devem registrar e cancelar o registro de uma versão no pacote de aplicativos.
Registrar uma versão¶
Antes de adicionar uma nova versão de um aplicativo a um pacote de aplicativos com canais de lançamento, os provedores devem registrar a versão no canal de lançamento usando a cláusula REGISTER do comando ALTER APPLICATION PACKAGE:
ALTER APPLICATION PACKAGE my_app_package REGISTER VERSION V1 USING '@stage/path';
Esse comando cria a versão V1 do aplicativo e também cria o patch 0. Essa versão não está atribuída a nenhum canal de lançamento. Há um máximo de duas versões não atribuídas (não adicionadas a nenhum canal de lançamento) permitidas no pacote de aplicativos.
Cancelar o registro de uma versão¶
Para criar uma nova versão em um pacote de aplicativos que já tenha duas versões, os provedores devem cancelar o registro de uma versão antiga.
Para cancelar o registro de uma versão e de seus patches associados, use a cláusula DEREGISTER do ALTER APPLICATION PACKAGE. O comando a seguir mostra como cancelar o registro da versão v1 do pacote de aplicativos:
ALTER APPLICATION PACKAGE my_app_package DEREGISTER VERSION v1;
Nota
Ao usar canais de lançamento, você não precisa remover a versão existente do pacote de aplicativos.
Adicionar uma versão a um canal de lançamento¶
Depois de registrar uma nova versão de um aplicativo no pacote de aplicativos, você deve adicionar explicitamente a versão a um canal de lançamento para definir a diretiva de lançamento do aplicativo.
Para adicionar uma versão a um canal de lançamento, use a cláusula ADD VERSION do comando ALTER APPLICATION PACKAGE:
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA ADD VERSION V1;
Nota
Um canal de lançamento só pode conter duas versões simultâneas.
Remover uma versão de um canal de lançamento¶
Para remover uma versão de um canal de lançamento, use a cláusula DROP do ALTER APPLICATION PACKAGE:
ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA DROP VERSION V1;
A remoção de uma versão de um canal de lançamento é assíncrona e só será realmente removida quando todos os consumidores tiverem feito o upgrade dessa versão.
Definir a diretriz de lançamento usando um canal de lançamento¶
Quando os canais de lançamento são ativados para um pacote de aplicativos, cada canal tem sua própria diretiva de lançamento.
Para definir a diretriz de lançamento padrão para um canal de lançamento:
ALTER APPLICATION PACKAGE my_app_package
MODIFY RELEASE CHANNEL ALPHA
SET DEFAULT RELEASE DIRECTIVE VERSION=v1 PATCH=10;
Para definir uma diretiva de lançamento personalizada para um canal de lançamento:
ALTER APPLICATION PACKAGE my_app_package
MODIFY RELEASE CHANNEL ALPHA
SET RELEASE DIRECTIVE my_custom_release_directive
VERSION=V1 PATCH=11 ACCOUNTS=(ORG1.ACCOUNT1);
Habilitar várias instâncias usando canais de lançamento¶
Você pode permitir que os consumidores criem várias instâncias de um aplicativo em suas contas. Os provedores também podem criar várias instâncias de um aplicativo em sua conta de teste.
Para ativar várias instâncias, use a propriedade MULTIPLE_INSTANCES do pacote de aplicativos, conforme mostrado nos comandos a seguir:
CREATE APPLICATION PACKAGE <name> MULTIPLE_INSTANCES=TRUE;
ALTER APPLICATION PACKAGE <name> SET MULTIPLE_INSTANCES=TRUE;
Nota
A ativação de várias instâncias para o pacote de aplicativos aplica-se a todos os canais de lançamento dentro do pacote de aplicativos.
Canais de monetização e lançamento¶
Todas as instâncias de aplicativos instaladas usando o canal de lançamento DEFAULT usam o plano de preços configurado para a listagem.
As instâncias de aplicativos instaladas a partir dos canais de lançamento ALPHA e QA são gratuitas e não usam o plano de preços configurado para a listagem.
Instalar um aplicativo usando canais de lançamento¶
Os provedores podem usar CREATE APPLICATION para criar um aplicativo a partir de um canal de lançamento em seu ambiente de teste.
Nota
Para instalar um aplicativo a partir dos canais de lançamento QA ou ALPHA, você deve usar uma função que tenha recebido o privilégio CREATE PREVIEW APPLICATION.
Para instalar um aplicativo a partir de um pacote de aplicativos na mesma conta, execute o seguinte comando:
CREATE APPLICATION my_app
FROM APPLICATION PACKAGE my_app_package
USING RELEASE CHANNEL QA;
Se você não usar explicitamente a cláusula USING RELEASE CHANNEL, será usado o canal de lançamento DEFAULT.
Para instalar um aplicativo em outra conta a partir de uma listagem, execute o seguinte comando:
CREATE APPLICATION my_app
FROM LISTING
USING RELEASE CHANNEL QA;
Se você não usar explicitamente a cláusula USING RELEASE CHANNEL, será usado o canal de lançamento DEFAULT.