Sobre Snowflake Native App Framework

Este tópico fornece informações gerais sobre o Snowflake Native App Framework.

Introdução ao Snowflake Native App Framework

O Snowflake Native App Framework permite criar aplicativos de dados que aproveitam a funcionalidade principal do Snowflake. O Snowflake Native App Framework permite:

  • Expandir os recursos de outros recursos do Snowflake compartilhando dados e a lógica de negócios relacionada com outras contas Snowflake. A lógica de negócios de um aplicativo pode incluir um aplicativo Streamlit, procedimentos armazenados e funções escritas usando a API Snowpark, JavaScript e SQL.

  • Compartilhar um aplicativo com os consumidores por meio de listagens. Uma listagem pode ser gratuita ou paga. Você pode distribuir e monetizar seus aplicativos no Snowflake Marketplace ou distribuí-los a consumidores específicos usando listagens privadas.

  • Inclua visualizações avançadas em seu aplicativo usando o Streamlit.

O Snowflake Native App Framework também oferece suporte a uma experiência de desenvolvimento aprimorada que fornece:

  • Um ambiente de teste simplificado onde você pode testar seus aplicativos a partir de uma única conta.

  • Um fluxo de trabalho de desenvolvedor robusto. Enquanto seus dados e objetos de banco de dados relacionados permanecem no Snowflake, você pode gerenciar arquivos de código de suporte e recursos dentro do controle de origem usando suas ferramentas de desenvolvedor preferidas.

  • A capacidade de liberar versões e patches para seu aplicativo que permite a você, como provedor, alterar e evoluir a lógica de seus aplicativos e liberá-los de forma incremental para os consumidores.

  • Suporte para registro de eventos estruturados e não estruturados para que você possa solucionar problemas e monitorar seus aplicativos.

Limitações conhecidas

O Snowflake Native App Framework tem limitações, incluindo:

  • As contas Snowflake no Google Cloud Platform ainda não são compatíveis.

  • Atualmente, o preenchimento automático entre nuvens é compatível apenas nas regiões AWS e Azure.

  • As contas Snowflake nas regiões governamentais não são suportadas.

  • Virtual Private Snowflake (VPS) só é compatível com uma única organização.

  • Tabelas Iceberg não são suportadas.

  • Tabelas ou estágios temporários não são suportados.

  • Alguns recursos Streamlit não são suportados. Consulte Recursos Streamlit não suportados para obter mais detalhes.

  • O Snowflake Native App Framework não oferece suporte a failover para continuidade dos negócios. Não há suporte para a adição de pacotes de aplicativos a grupos de replicação e grupos de failover.

Componentes do Snowflake Native App Framework

O diagrama a seguir mostra uma exibição de alto nível do Snowflake Native App Framework.

../../_images/native-apps-overview.png

O Snowflake Native App Framework é construído em torno do conceito de provedor e consumidor usado por outros recursos do Snowflake, incluindo Colaboração Snowflake e Secure Data Sharing

Provedor

Um usuário do Snowflake que deseja compartilhar conteúdo de dados e lógica de aplicativo com outros usuários do Snowflake.

Consumidor

Um usuário do Snowflake que deseja acessar o conteúdo de dados e a lógica do aplicativo compartilhado pelos provedores.

Desenvolvimento e teste de um pacote de aplicativo

Para compartilhar o conteúdo de dados e a lógica de aplicativo com um consumidor, os provedores criam um pacote de aplicativo.

Pacote de aplicativo

Um pacote de aplicativo encapsula o conteúdo de dados, a lógica do aplicativo, os metadados e o script de configuração exigidos por um aplicativo. Um pacote de aplicativo também contém informações sobre versões e níveis de patch definidos para o aplicativo. Consulte Criação de um pacote de aplicativo para obter mais detalhes.

Um pacote de aplicativo pode incluir referências a conteúdo de dados e arquivos de código externos que um provedor deseja incluir no aplicativo. Um pacote de aplicativo requer um arquivo de manifesto e um script de configuração.

Arquivo do manifesto

Define a configuração e as propriedades de configuração exigidas pelo aplicativo, incluindo a localização do script de configuração, versões etc. Consulte Criação do arquivo de manifesto para um pacote de aplicativo para obter mais detalhes.

Script de configuração

Contém instruções SQL que são executadas quando o consumidor instala ou atualiza um aplicativo ou quando um provedor instala ou atualiza um aplicativo para teste. A localização do script de configuração é especificada no arquivo manifest.yml. Consulte Criação de um script de configuração para obter mais detalhes.

Publicação de um pacote de aplicativo

Depois de desenvolver e testar um pacote de aplicativo, um provedor pode compartilhar um aplicativo com os consumidores publicando uma listagem contendo o pacote de aplicativo como o produto de dados de uma listagem. A listagem pode ser uma listagem Snowflake Marketplace ou uma listagem privada.

Listagem Snowflake Marketplace

Permite que os provedores comercializem aplicativos na nuvem de dados do Snowflake. Oferecer uma listagem no Snowflake Marketplace permite que os provedores compartilhem aplicativos com muitos consumidores simultaneamente, em vez de manter relações de compartilhamento com cada consumidor individual.

Listagem privada

Permite que os provedores aproveitem a capacidade das listagens de compartilhar aplicativos diretamente com outra conta Snowflake em qualquer região Snowflake suportada por Snowflake Native App Framework.

Consulte Sobre listagens para obter mais detalhes.

Instalação e gerenciamento de um aplicativo

Depois que um provedor publica uma listagem contendo um pacote de aplicativo, os consumidores podem descobrir a listagem e instalar o aplicativo.

Snowflake Native App

Um Snowflake Native App é o objeto de banco de dados instalado na conta do consumidor. Quando um consumidor instala o Snowflake Native App, o Snowflake cria o aplicativo e executa o script de configuração para criar os objetos necessários no aplicativo. Consulte Criação de um objeto de aplicativo para obter mais detalhes.

Depois de instalar o aplicativo, os consumidores podem realizar tarefas adicionais, incluindo:

Consulte Como trabalhar com aplicativos como um consumidor para obter detalhes sobre como os consumidores instalam e gerenciam um aplicativo.