Partage déclaratif dans les applications natives : Limitations

Le partage déclaratif est une fonctionnalité des applications natives Snowflake qui permettent aux fournisseurs de définir et de partager rapidement des objets dans plusieurs bases de données à l’aide d’un simple fichier de configuration YAML. Bien que cette fonctionnalité simplifie considérablement les flux de travail de partage de données, elle présente des limites que les fournisseurs doivent comprendre avant de la mettre en œuvre.

Types d’objets pris en charge

Le partage déclaratif prend en charge les types d’objet suivants :

  • Tables

  • Vues sécurisées (y compris les vues matérialisées)

  • Notebooks*

Tous les autres types d’objets ne sont pas pris en charge pour le partage dans le partage déclaratif des applications natives.

Limites des notebooks

Lecture seule pour les consommateurs

Les consommateurs ne peuvent pas modifier les notebooks des fournisseurs en place, ni les cloner.

Accès au réseau

Les notebooks ne peuvent pas accéder aux points de terminaison externes ou aux données du consommateur lorsqu’ils sont exécutés dans des comptes clients.

Bibliothèques spécialisées

Il n’existe aucune garantie quant au fonctionnement sans configuration des bibliothèques géospatiales et des autres bibliothèques tierces dans les notebooks.

Dépendances externes

Les applications de partage déclaratif ont une prise en charge limitée des bibliothèques externes (canal Snowflake Anaconda et fichiers Python dans la zone de préparation de code).

Sécurité et contrôle d’accès

Définition du rôle

Tous les rôles d’application référencés dans le contenu partagé doivent être prédéfinis dans le champ roles du manifeste.

Rôles au niveau de l’objet

Les rôles d’objets doivent être des sous-ensembles de leurs rôles de schéma parents.

Validation de rôle manquant

La validation du manifeste renvoie une erreur si les rôles référencés dans la configuration de partage n’existent pas.

Privilèges minimums

Le rôle de fournisseur qui valide le fichier shared_content.yaml doit avoir au moins les mêmes privilèges sur les objets partagés que ceux accordés aux consommateurs.

** REFERENCE_USAGE non obligatoire**

Contrairement au partage de données classique, les fournisseurs n’ont pas besoin d’accorder des privilèges REFERENCE_USAGE au paquet d’application.

Migration et compatibilité

Migration vers le partage déclaratif

La prise en charge de la migration pour passer des partages de données au partage déclaratif dans les applications natives n’est pas disponible.

Contraintes de nommage et de configuration

Pas de caractères génériques

Les noms d’objets doivent être explicitement spécifiés ; la correspondance des caractères génériques ou des expressions régulières n’est pas prise en charge.

Prévention des collisions de noms

Deux objets partagés ne peuvent pas avoir le même DOMAIN et le même nom.

** Mappage de schéma**

Le mappage de schéma n’est pas pris en charge. Le chevauchement des noms de schéma de plusieurs bases de données n’est pas autorisé.