Se familiariser avec les tables virtuelles (entités)

Les tables virtuelles, également appelées entités virtuelles, permettent l’intégration de données résidant dans des systèmes externes avec Microsoft Dataverse. Cette intégration représente de manière transparente ces données externes sous forme de tableaux dans Dataverse, sans réplication des données et souvent sans codage personnalisé.

Les tables virtuelles remplacent les approches précédentes côté client et côté serveur pour l’intégration de données externes, qui nécessitaient un code personnalisé et souffraient de nombreuses limitations. Ces limitations incluent une intégration imparfaite, une duplication des données ou un engagement important de ressources de développement. De plus, pour les administrateurs et les personnalisateurs de système, l’utilisation des tables virtuelles simplifie grandement l’administration et la configuration.

Notes

Cette section traite des implications des tables virtuelles pour les développeurs. Pour plus d’informations sur la gestion des tables virtuelles de l’interface utilisateur, voir Création et modification de tables virtuelles.

Tables virtuelles, fournisseurs de données et sources de données

Un table virtuelle inclut une définition d’une table dans Dataverse sans la table physique associée pour le stockage des enregistrements dans la Dataverse base de données. Pendant l’exécution, lorsqu’un enregistrement est requis, son état est récupéré dynamiquement à partir du système externe associé. Chaque type de table virtuelle est associé à un fournisseur de données de table et (facultatif) à quelques informations de configuration d’une source de données de table associée.

Les fournisseurs de données suivants sont fournis avec Dataverse :

  • Un fournisseur OData v4 est inclus avec le service et est installé par défaut. Ce fournisseur prend en charge les opérations de création, de lecture (récupération, récupération multiple), de mise à jour et de suppression (CRUD).
  • Un fournisseur Azure Cosmos DB (anciennement Microsoft Document DB) est disponible dans AppSource.

Si aucun fournisseur de données ne peut être trouvé pour votre source de données externe, vous pouvez développer un table virtuelle fournisseur de données personnalisé. Plus d’informations : table virtuelle fournisseurs de données

Le fonctionnement CRUD complet est désormais pris en charge pour le fournisseur de données de table virtuelle personnalisée. Les développeurs peuvent implémenter des plug-ins et les enregistrer à l’aide de l’outil d’enregistrement de plug-ins, pour chacune des opérations CRUD prenant en charge table virtuelle.

Création et mappage de tables virtuelles

Au départ, définir un table virtuelle revient à définir une table personnalisée. Vous spécifiez la table, les colonnes et Relations pour le nouveau type table virtuelle. Vous Connecter ensuite le table virtuelle vers un fournisseur de données pour gérer les opérations de données.

Le type de table personnalisée et ses colonnes doivent être mappés aux données correspondantes de la source de données externe. Par exemple, une table virtuelle peut être représentée sous la forme d’une ligne dans une base de données relationnelle externe, et chacune de ses colonnes peut correspondre à une colonne sur cette ligne. Ces noms de données externes sont souvent différents de leurs noms table virtuelle correspondants. Un mappage spécifique et obligatoire se produit pour le champ d’ID d’entité - le fournisseur de données doit pouvoir fournir ce GUID et l’associer à l’enregistrement externe qui représente cet enregistrement. Le moyen le plus direct d’obtenir ce résultat est d’utiliser les GUID comme clés primaires dans le source de données externe.

Dans cet exemple, une source de données de table virtuelle correspondante serait également mise à disposition pour fournir des informations d’utilisateur et de connexion pour la base de données externe.

Limitations des tables virtuelles

Voici les limitations des tables virtuelles qui doivent être prises en compte.

  • Seules les tables appartenant à l’organisation sont prises en charge. Le filtrage de sécurité appliqué aux tables appartenant aux utilisateurs n’est pas pris en charge. L’accès aux données de table virtuelle peut être activé ou désactivé pour des utilisateurs individuels en fonction de leur rôle de sécurité. La sécurité au niveau du champ n’est pas prise en charge.
  • Il doit être possible de modéliser les données externes en tant que table Dataverse. Autrement dit :
    • Toutes les tables de la source de données externe doivent avoir une clé primaire GUID associée.
    • Toutes les propriétés de la table doivent être représentées comme des colonnes de table Dataverse. Vous pouvez utiliser des types simples représentant du texte, des nombres, des options, des dates, des images et des recherches.
    • Vous devez être en mesure de modéliser toutes les relations de table dans Dataverse.
    • Une colonne sur un table virtuelle ne peut pas être calculée ou cumulée.  Tout calcul souhaité doit être effectué du côté externe, éventuellement à l’intérieur ou dirigé par le fournisseur de données.
    • Bien que vous puissiez ajouter des colonnes table virtuelle en tant que recherche sur une vue grille ou d’autres vues d’interface utilisateur, vous ne pouvez pas filtrer ou trier en fonction de cette colonne de recherche table virtuelle.
  • L’audit n’est pas pris en charge.
  • La fonctionnalité de recherche n’est pas prise en charge pour les tables virtuelles car elles ne conservent pas les données.
  • Les graphiques et les tableaux de bord ne sont pas pris en charge pour les tables virtuelles.
  • Les tables virtuelles ne peuvent pas être activées pour les files d’attente.
  • La mise en cache hors ligne des valeurs n’est pas prise en charge pour les tables virtuelles.
  • Un table virtuelle ne peut pas représenter une activité et ne prend pas en charge les flux de processus métier.
  • Une fois créé, un table virtuelle ne peut pas être modifié pour devenir une table standard (non virtuelle). L’inverse est également vrai car une table standard ne peut pas être convertie en un table virtuelle.
  • La sélection d’attributs dans les requêtes Retrieve et RetrieveMultiple ne sera pas appliquée car tous les attributs sont renvoyés

Pour plus d’informations sur la manière dont ces limitations sont répercutées dans l’API Dataverse, voir Éléments à prendre en compte pour les API s’appliquant aux tables virtuelles.

Voir aussi

Guide pas à pas avec une table virtuelle utilisant le fournisseur de données OData v4
Considérations sur les tables virtuelles
Fournisseurs de données de tables virtuelles personnalisées
Exemple : Plug-in générique fournisseur de données des tables virtuelles

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).