Compartilhamento declarativo em Native Apps: Limitações

O compartilhamento declarativo é um recurso dos Snowflake Native Apps que permite que os provedores rapidamente definam e compartilhem objetos em vários bancos de dados usando um arquivo de configuração YAML simples. Embora esse recurso simplifique significativamente os fluxos de trabalho de compartilhamento de dados, ele tem limitações que os provedores devem entender antes de implementar.

Tipos de objetos suportados

O compartilhamento declarativo oferece suporte a estes tipos de objetos:

  • Tabelas

  • Exibições seguras (incluindo exibições materializadas)

  • Notebooks

O compartilhamento declarativo em Native Apps não oferece suporte para outros tipos de objetos.

Limitações de notebooks

Somente leitura para consumidores

Os consumidores não podem editar os notebooks do provedor no local nem cloná-los.

Acesso à rede

Os notebooks não podem acessar pontos de extremidade externos ou dados de consumidores ao serem executados em contas de clientes.

Bibliotecas especializadas

Não há garantia de que bibliotecas geoespaciais e outras de terceiros funcionarão nos notebooks sem adaptações.

Dependências externas

Os aplicativos de compartilhamento declarativo têm suporte limitado para bibliotecas externas (canal Snowflake Anaconda e arquivos Python em estágio de código).

Segurança e controle de acesso

Definição da tabela

Todas as funções de aplicativo referenciadas no conteúdo compartilhado devem ser predefinidas no campo roles do manifesto.

Funções no nível de objeto

As funções de objeto devem ser subconjuntos de suas funções do esquema pai.

Validação de função ausente

A validação do manifesto retornará um erro se as funções referenciadas na configuração de compartilhamento não existirem.

Privilégios mínimos

A função de provedor que confirma o arquivo shared_content.yaml deve ter pelo menos os mesmos privilégios que os concedidos aos consumidores para os objetos compartilhados.

Não exigeREFERENCE_USAGE

Ao contrário do compartilhamento de dados tradicional, os provedores não precisam conceder privilégios de REFERENCE_USAGE para o pacote de aplicativo.

Migração e compatibilidade

Migração do compartilhamento declarativo

O suporte de migração para mudar de compartilhamentos de dados para compartilhamento declarativo em Native Apps não está disponível.

Restrições de configuração e nomeação

Sem curingas

Os nomes dos objetos devem ser especificados de forma explícita; não há suporte para a correspondência por curinga ou expressão regular.

Prevenção de colisão de nomes

Dois objetos compartilhados não podem ter o mesmo DOMAIN e nome.

Mapeamento de esquema

Não há suporte para o mapeamento de esquema. Não é permitido sobrepor nomes de esquemas de vários bancos de dados.