Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 en toute transparence les données externes sous forme de tables dans Dataverse, sans réplication de données et souvent sans codage personnalisé.
Les tables virtuelles remplacent les approches côté client et côté serveur précédentes pour intégrer des données externes, ce qui exige du code personnalisé et souffre de nombreuses limitations. Ces limitations incluent une intégration imparfaite, la duplication des données ou un engagement conséquent des ressources de développement. En outre, pour les administrateurs et les personnalisateurs système, l’utilisation de tables virtuelles simplifie considérablement l’administration et la configuration.
Note
Cette section décrit les implications des tables virtuelles pour les développeurs. Pour plus d’informations sur la gestion des tables virtuelles à partir de l’interface utilisateur, consultez Créer et modifier des tables virtuelles qui contiennent des données à partir d’une source de données externe.
Tables virtuelles, fournisseurs de données et sources de données
Une table virtuelle inclut une définition d’une table dans Dataverse sans la table physique associée pour le stockage d’enregistrements dans la base de données Dataverse. Lors de 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 virtuelle et (éventuellement) certaines informations de configuration d’une source de données de table virtuelle associée.
Les fournisseurs de données suivants sont livrés avec Dataverse :
- Un fournisseur OData v4 est inclus dans le service et est installé par défaut. Ce fournisseur prend en charge les opérations de création, de lecture (récupérer, récupérer plusieurs), de mise à jour et de suppression (CRUD).
- Un fournisseur Azure Cosmos DB (anciennement Microsoft Document DB) est disponible à partir d’AppSource.
Si aucun fournisseur de données n’est disponible pour votre source de données externe, vous pouvez développer un fournisseur de données de table virtuelle personnalisée. Plus d’informations : Fournisseurs de données de table virtuelle
La prise en charge complète des opérations CRUD est désormais assurée pour le fournisseur de données de table virtuelle personnalisée. Les développeurs peuvent implémenter des plug-ins et les inscrire à l’aide de l’outil d’inscription de plug-in, 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. Vous spécifiez la table, les colonnes et les relations pour le nouveau type de table virtuelle. Vous connectez ensuite la table virtuelle à un fournisseur de données pour gérer les opérations de données.
Le type de table personnalisé et ses colonnes doivent être mappés aux données correspondantes dans la source de données externe. Par exemple, une table virtuelle peut être représentée sous forme de ligne dans une base de données relationnelle externe, et chacune de ses colonnes peut correspondre à une colonne de cette ligne. Ces noms de données externes sont souvent différents de leurs noms de tables virtuelles correspondantes. Un mappage spécifique et obligatoire se produit pour le champ ID d’entité : le fournisseur de données doit être en mesure de fournir ce GUID et de l’associer à l’enregistrement externe qui représente cet enregistrement. Le moyen le plus direct d’obtenir ce résultat consiste à utiliser réellement des GUID comme clés primaires dans la source de données externe.
Dans cet exemple, une source de données de table virtuelle correspondante est également fournie 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 à l’utilisateur n’est pas pris en charge. L’accès aux données de la 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. Cela signifie :
- Toutes les tables de la source de données externe doivent avoir une clé primaire GUID associée.
- Toutes les propriétés de table doivent être représentées en tant que colonnes de table Dataverse. Vous pouvez utiliser des types simples représentant du texte, des nombres, des choix, des dates, des images et des recherches.
- Vous devez pouvoir modéliser toutes les relations de table dans Dataverse.
- Une colonne d’une table virtuelle ne peut pas être calculée ni agrégée. Tous les calculs souhaités doivent être effectués côté externe, éventuellement au sein ou dirigés par le fournisseur de données.
- Bien que vous puissiez ajouter des colonnes de table virtuelle en tant que recherche sur une grille ou d’autres vues d’interface utilisateur, vous ne pouvez pas filtrer ou trier en fonction de 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 connexion 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 de processus métier.
- Une fois créée, une table virtuelle ne peut pas être modifiée pour être une table standard (non virtuelle). L’inverse est également vrai, alors qu’une table standard ne peut pas être convertie en table virtuelle.
- La sélection d’attributs dans les requêtes Retrieve et RetrieveMultiple n’est pas appliquée, car tous les attributs sont retournés
- Réduisez et limitez les colonnes de recherche de tables virtuelles dans votre vue de grille. La lecture des colonnes de la table virtuelle peut prendre un certain temps.
Pour plus d’informations sur la façon dont ces limitations sont reflétées dans l’API Dataverse, consultez les considérations relatives aux API des tables virtuelles.
Voir aussi
Guide de la table virtuelle à l’aide du fournisseur de données OData v4
Considérations relatives à l’API des tables virtuelles
Fournisseurs de données de table virtuelle personnalisée
Exemple : plug-in générique fournisseur de données des tables virtuelles