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
rolesdo 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.yamldeve 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.