Se familiariser avec les tables virtuelles (entités)

Les Tables virtuelles (aussi connues comme entités virtuelles) permettent l’intégration de données résidant dans les systèmes externes en représentant de manière homogène ces données au format tables dans Microsoft Dataverse, sans réplication des données et souvent sans codage personnalisé.

Les tables virtuelles remplacent les précédentes approches côté client et côté serveur d’intégration des données externes, qui nécessitaient un code personnalisé et souffraient de nombreuses limitations, notamment une intégration imparfaite, la duplication de 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

Une table virtuelle est une définition d’une table dans les métadonnées de la plateforme Dataverse sans les tables physiques associées pour les enregistrements créés dans la base de données Dataverse. Au lieu de cela, pendant l’exécution, quand un enregistrement est requis, son état est extrait dynamiquement 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.
  • Un fournisseur Azure Cosmos DB (anciennement Microsoft Document DB) est disponible dans AppSource.

Si un fournisseur de données est introuvable pour votre source de données externe, vous pouvez développer une table virtuelle personnalisée ; pour plus d’informations, voir Fournisseurs de données de table virtuelle. 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 la table virtuelle.

Création et mappage de tables virtuelles

Initialement, la définition d’une table virtuelle est identique à la définition d’une table personnalisée : spécifiez la table, les colonnes et les relations pour le nouveau type de table virtuelle. Cependant, vous pouvez également connecter la table virtuelle à un fournisseur de données pour gérer les opérations des 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. (Notez que ces noms de données externes sont souvent différents des noms de tables virtuelles correspondants.) Un mappage spécifique est requis pour le champ ID d’entité : le fournisseur de données doit pouvoir fournir ce GUID et l’associer à l’enregistrement externe qui représente cet enregistrement. La méthode la plus directe pour y parvenir consiste à utiliser le GUID en tant que clés primaires dans la 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 des champs 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 une 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.
    • Même si vous pouvez ajouter des colonnes de tables virtuelles comme recherche sur une grille ou autres vues d’interface utilisateur, vous ne pouvez pas filtrer ou trier selon cette colonne de recherche de 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.
  • Une table virtuelle ne peut pas représenter une activité et ne prend pas en charge les flux des processus d’entreprise.
  • Une fois créée, une table virtuelle ne peut pas être modifiée pour devenir une table standard (non virtuelle). L’inverse s’applique également : une table standard ne peut pas être convertie en une table virtuelle.
  • La sélection d’attributs dans les requêtes Retrieve et RetrieveMultiple ne sera pas appliquée puisque tous les attributs seront 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é).