Pacotes de aplicativo no compartilhamento declarativo do Native Application Framework

Como provedor, você cria um pacote de aplicativo para agrupar seu conteúdo de dados e notebooks em um pacote Declarative Native App. Este tópico explica o que é um pacote de aplicativo e descreve as etapas gerais desde a criação do pacote inicial até como adicionar seus arquivos de manifesto e notebook.

O pacote de aplicativo e a versão ativa

O pacote do aplicativo é um contêiner com todos os arquivos que compõem o aplicativo, incluindo o arquivo manifesto e qualquer notebook Snowflake. Quando você cria um pacote de aplicativo, também é criada uma versão ativa (preparada) desse pacote de aplicativo. A versão ativa é um espaço de trabalho de desenvolvimento em que é possível adicionar ou atualizar arquivos, como o arquivo de manifesto e os arquivos do notebook, assim como ver uma versão preliminar e testar a experiência antes de publicar.

Quando estiver satisfeito com a versão ativa do aplicativo, você poderá confirmar a versão ativa para criar uma nova versão imutável do pacote do aplicativo, que poderá ser publicada.

O uso da versão ativa no desenvolvimento simplifica o gerenciamento de versões, mantendo uma versão única e imutável do pacote de aplicativo que está pronta para ser publicada e uma versão única ativa para desenvolvimento. O Snowflake Native App Framework gerencia automaticamente o controle de versão do pacote de aplicativo, para que você não precise rastrear manualmente os números das versões.

O Snowflake Native App Framework automaticamente mantém uma versão ativa para qualquer pacote de aplicativo. Mesmo que a versão ativa seja removida, uma nova versão ativa será criada automaticamente a partir da última versão confirmada do pacote de aplicativo.

Criação de um pacote de aplicativo

Os provedores desenvolvem e testam um pacote de aplicativo. Um pacote de aplicativo inclui os arquivos necessários para compartilhar os dados no aplicativo e define como esses dados podem ser acessados pelos consumidores.

Esse processo envolve as seguintes etapas:

  1. Create an application package file (somente na primeira vez): cria um arquivo de pacote de aplicativo que será publicado posteriormente. Isso também cria a versão ativa do pacote do aplicativo.

  2. Add content to the application package:

    1. Create or update a manifest file: Este arquivo descreve o pacote do aplicativo e seu conteúdo.

    2. Download notebook files. Se os notebooks forem incluídos, faça o download de uma cópia para fazer parte do pacote do aplicativo.

    3. Add the files to the live version of the application package.

  3. Build the application package: permite verificar se o arquivo de manifesto é válido e se todos os links no arquivo de manifesto estão corretos.

  4. Test the application. Instale o aplicativo e experimente. Faça alterações e reconstrua.

  5. Commit the application package: cria uma nova versão imutável do aplicativo que pode ser publicada.

  6. Release the application package. Com um pacote lançado, você pode criar uma nova listagem de maneira privada ou pública no Snowflake Marketplace.

Esse processo é descrito em Tutorial: Introdução às Declarative Native Apps. Esta seção inclui mais detalhes sobre as opções disponíveis nas diferentes etapas de desenvolvimento.

Diagrama mostrando as etapas de criação de um pacote de aplicativo: Adiciona o pacote ativo, a compilação, a confirmação e o lançamento. O diagrama também mostra as etapas opcionais a serem puladas para criar, confirmar e lançar uma versão ativa de uma só vez.

Criação de um novo pacote de aplicativo

Criar um pacote Declarative Native App usando o comando: CREATE APPLICATION PACKAGE … TYPE=DATA:

CREATE APPLICATION PACKAGE DECL_SHARE_APP_PKG TYPE = DATA;
Copy

O novo pacote de aplicativo vazio é criado. Isso também cria uma versão ativa do pacote de aplicativo que você pode editar.

Adicionar conteúdo ao pacote do aplicativo

Inclua o seguinte conteúdo no pacote do aplicativo:

  • Um arquivo de manifesto (obrigatório): um arquivo baseado em texto que define a estrutura do aplicativo.

  • Arquivos notebook Snowflake (opcionais): arquivos baseados em texto que podem atuar como um front-end para a experiência do consumidor, referenciando as exibições e tabelas compartilhadas. Também podem incluir código, visualizações de referência e lógicas para ajudar a apresentar os dados.

Diagrama de componentes do pacote de aplicativo

Criação ou atualização de um arquivo de manifesto

Provedores criam ou atualizam um arquivo de manifesto que descreve o pacote do aplicativo e o conteúdo compartilhado, como notebooks, tabelas e exibições. Ele define outros metadados, como as funções de aplicativo incluídas.

O arquivo de manifesto deve ter o nome manifest.yml e ser adicionado à raiz do pacote de aplicativo.

Para obter mais informações, consulte Referência do manifesto Declarative Native App. O Tutorial: Introdução às Declarative Native Apps associado inclui um exemplo de arquivo de manifesto.

Obter arquivos de notebook

Caso seja necessário incluir os notebooks Snowflake no aplicativo, baixe uma cópia do arquivo do notebook para que você possa incluí-lo no pacote do aplicativo.

Pelo Snowsight:

  1. No menu de navegação, selecione Projects » Notebooks e depois o notebook que você quer baixar.

  2. No painel esquerdo, ao lado do notebook, selecione » Download.

O arquivo é baixado na sua máquina local, com o nome <notebook_name>.ipynb.

Nota

O ambiente de notebook tem um conjunto de pacotes Anaconda pré-instalados, incluindo Python e Streamlit. Caso seu notebook use outros pacotes Anaconda, você deverá adicioná-los aos seus pacotes em seu notebook para que possam ser usados no ambiente do consumidor. Para saber como adicionar pacotes Anaconda ao seu notebook, consulte Como adicionar pacotes Anaconda a um notebook.

Adição dos arquivos à versão ativa

Adicionar e acessar arquivos usando comandos SQL do CLI Snowflake, com o esquema snow://package/<package_name>/versions/LIVE/ URL. Exemplos:

  • Adicione um arquivo ao pacote do aplicativo:

    snow sql -q "PUT file:////Users/test_user/Documents/manifest.yml  snow://package/DECL_SHARE_APP_PKG/versions/LIVE/ OVERWRITE=TRUE AUTO_COMPRESS=false;"
    
    snow sql -q "PUT file:////Users/test_user/Documents/NOTEBOOK.ipynb  snow://package/DECL_SHARE_APP_PKG/versions/LIVE/ OVERWRITE=TRUE AUTO_COMPRESS=false;"
    
    Copy
  • Verifique se os arquivos estão no pacote do aplicativo:

    snow sql -q "LIST snow://package/DECL_SHARE_APP_PKG/versions/LIVE"
    
    Copy
    +--------------------------------------------------------------------------------+
    | name                          | size | md5     | last_modified                 |
    |-------------------------------+------+---------+-------------------------------|
    | /versions/live/manifest.yml   | 304  | 843a... | Wed, 23 Jul 2025 08:27:26 GMT |
    | /versions/live/NOTEBOOK.ipynb | 832  | b014... | Wed, 23 Jul 2025 04:32:22 GMT |
    +--------------------------------------------------------------------------------+
    
  • Baixe um arquivo do pacote de aplicativo:

    snow sql -q "GET snow://package/<package_name>/versions/LIVE/manifest.yml file://manifest.yml"
    
    Copy
  • Remova o conteúdo do pacote do aplicativo:

    snow sql -q "RM snow://package/<package_name>/versions/LIVE/manifest.yml"
    
    Copy

Criação do pacote de aplicativo

Crie uma versão testável do aplicativo (e verifique se o arquivo de manifesto é válido e todos os links funcionam) com o comando: ALTER APPLICATION PACKAGE … BUILD.

ALTER APPLICATION PACKAGE DECL_SHARE_APP_PKG BUILD;
Copy

Se houver algum erro no arquivo de manifesto, a compilação falhará e fornecerá informações sobre como corrigir o erro. Corrija esses erros e crie de novo o pacote de aplicativo.

O aplicativo criado permanece no estado ativo e você pode continuar fazendo alterações no pacote do aplicativo.

Pule para frente!

Para atualizações que não exigem mais testes, você pode avançar criando, confirmando e lançando um pacote de aplicativo de uma só vez usando o comando ALTER APPLICATION PACKAGE … RELEASE LIVE VERSION.

ALTER APPLICATION PACKAGE DECL_SHARE_APP_PKG RELEASE LIVE VERSION;
Copy

Testagem do aplicativo

Depois de criar o pacote de aplicativo, os provedores podem realizar testes básicos do ambiente ativo.

Instale o aplicativo a partir de um pacote usando o comando: CREATE APPLICATION … FROM APPLICATION PACKAGE. Por exemplo:

CREATE APPLICATION DECL_SHARE_APP FROM APPLICATION PACKAGE DECL_SHARE_APP_PKG
Copy

Atualize os arquivos no pacote do aplicativo conforme necessário e veja se funcionou usando o comando: ALTER APPLICATION PACKAGE … UPGRADE USING VERSION LIVE.

ALTER APPLICATION PACKAGE DECL_SHARE_APP_PKG UPGRADE USING VERSION LIVE;
Copy

Para testar alguns recursos, como funções de aplicativo, você deve primeiro lançar uma nova versão do pacote e, em seguida, testar usando uma conta de consumidor separada. Para obter mais informações, consulte Instalação de um Declarative Native App e Acesso ao conteúdo de um Declarative Native App.

Opcional: Redefinição de edições em uma versão ativa

Se as edições feitas na versão ativa do pacote de aplicativo não forem mais necessárias, você pode redefinir o pacote do aplicativo para o estado anterior, sem as edições feitas, usando o comando: ALTER APPLICATION PACKAGE … ABORT LIVE VERSION

ALTER APPLICATION PACKAGE <package_name> ABORT LIVE VERSION;
Copy

Quando você usa o comando anterior para remover a versão ativa atual, é criada uma nova versão ativa com o mesmo conteúdo da última versão confirmada do pacote de aplicativo. A versão ativa é redefinida para a última versão confirmada e todas as alterações feitas na versão ativa são descartadas.

Confirmação do pacote de aplicativo

Os provedores criam uma nova versão imutável do aplicativo que não pode ser editada e está pronta para ser publicada.

Use o comando ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE <package_name> COMMIT;
Copy

A versão ativa do pacote de aplicativo é removida. Uma nova versão ativa do pacote de aplicativo é criada a partir da nova versão confirmada para continuar o desenvolvimento.

Lançamento do pacote de aplicativo

Lance o pacote de aplicativo com o comando ALTER APPLICATION PACKAGE … RELEASE ou ALTER APPLICATION PACKAGE … RELEASE LIVE VERSION:

  • Lançar um pacote de aplicativo confirmado:

    ALTER APPLICATION PACKAGE <package_name> RELEASE;
    
    Copy
  • Criar, confirmar e lançar uma versão ativa do pacote do aplicativo:

    ALTER APPLICATION PACKAGE <package_name> RELEASE LIVE VERSION;
    
    Copy

Quando o pacote de aplicativo é lançado, acontece o seguinte:

  • Prepara um aplicativo confirmado para ser compartilhado com os consumidores.

  • Se o provedor já tiver compartilhado o aplicativo com os consumidores, a nova versão estará automaticamente disponível para eles.

  • Se já houver uma versão ativa do aplicativo no Snowflake Marketplace, a nova versão estará automaticamente disponível para os consumidores que instalarem o aplicativo.

Depois de lançar o pacote de aplicativo, você pode criar uma nova listagem para o aplicativo, seja de maneira privada ou pública no Snowflake Marketplace. Para obter mais informações, consulte Criação de uma listagem usando compartilhamento declarativo.