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
rolesdu 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.yamldoit 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é.