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.

Shared Objects

Limite de objeto

Um máximo de 1.000 objetos pode ser definido na seção de conteúdo compartilhado do manifest.yml Arquivo. Para aumentar esse limite, entre em contato com o suporte Snowflake.

Limitações de notebooks

Read-only for consumers

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

Network access

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

Specialized libraries

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

External dependencies

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

Execução não interativa

Notebooks que fazem parte de aplicativos nativos não podem ser executados de forma não interativa por planilhas ou SQL Comandos.

Segurança e controle de acesso

Role definition

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

Object-level Roles

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

Missing role validation

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

Minimum privileges

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.

No REFERENCE_USAGE required

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

Declarative Sharing migration

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

No wildcards

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.

Name collision prevention

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

Schema mapping

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

Monitoring

Auditoria

Declarative Native Apps não fornecem recursos de monitoramento (como trilhas de auditoria) para permitir que o provedor receba informações do consumidor sobre como os dados compartilhados estão sendo usados. Se um consumidor tiver requisitos de conformidade ou regulatórios que exijam auditoria, ele deverá trabalhar com o provedor para implementar suas próprias soluções de monitoramento.