Partager via


Qu’est-ce que l’API Microsoft Fabric pour GraphQL ?

GraphQL est un langage de requête open source et un runtime pour les API gérées par GraphQL Foundation. Contrairement aux API REST traditionnelles, GraphQL permet aux clients de demander exactement les données dont ils ont besoin dans une seule requête, ce qui réduit la sur-extraction et la sous-extraction des données.

L’API Microsoft Fabric pour GraphQL apporte cette puissante norme à l’écosystème Fabric en tant que couche d’accès aux données qui vous permet d’interroger rapidement et efficacement plusieurs sources de données. L’API extrait les spécificités des sources de données principales afin de vous concentrer sur la logique de votre application et de fournir toutes les données dont un client a besoin dans un seul appel. Avec son langage de requête simple et sa manipulation efficace du jeu de résultats, GraphQL réduit le temps nécessaire aux applications pour accéder à vos données dans Fabric.

Pourquoi utiliser GraphQL pour les données Fabric

Sans GraphQL, l’exposition de données Fabric aux applications nécessite généralement l’une des approches suivantes :

Connexions de base de données directes

  • Les applications se connectent directement aux lakehouses ou aux entrepôts à l’aide de pilotes SQL (ODBC, JDBC)
  • Coupler étroitement le code d’application aux schémas de base de données : les modifications de schéma interrompent les applications
  • Nécessite la gestion des chaînes de connexion, des informations d’identification et des dépendances de pilote dans chaque application
  • Les requêtes SQL incorporées dans le code d’application sont difficiles à tester et à gérer

API REST personnalisées

  • Créer et gérer des services principaux personnalisés avec des infrastructures telles que ASP.NET ou Node.js
  • Écrire du code du contrôleur, une logique de routage et des couches d’accès aux données pour chaque point de terminaison
  • Créer des versions d’API distinctes (v1, v2, v3) lorsque les structures de données changent
  • Sur-extraire des données (obtenez des lignes entières lorsque vous avez besoin de quelques colonnes) ou sous-extraire des données (effectuez plusieurs requêtes pour les données associées)

GraphQL résout ces défis :

  • Aucun code principal n’est requis : Fabric génère automatiquement le schéma, les programmes de résolution et le point de terminaison GraphQL à partir de vos sources de données
  • Interroger exactement ce dont vous avez besoin : demander des champs spécifiques dans une requête unique, éliminant ainsi la sur-extraction et réduisant les tailles de charge utile
  • Récupérer des données associées en une seule requête : Parcourir les relations sans plusieurs allers-retours pour éviter le problème des requêtes N+1
  • Évolution du schéma sans changements cassants : ajoutez de nouveaux champs sans affecter les requêtes existantes : les clients demandent uniquement ce qu’ils connaissent.
  • Sécurité des types et documentation : schéma auto-documentant avec l’introspection intégrée que les outils de développement comprennent
  • Accès unifié à plusieurs sources : interroger des lakehouses, des entrepôts de données et des bases de données SQL via un seul point de terminaison

Pour les développeurs d’applications, GraphQL signifie un développement plus rapide avec moins d’infrastructure. Pour les ingénieurs données, cela signifie exposer des données sans écrire et gérer du code d’API personnalisé.

Qui doit utiliser l’API pour GraphQL

L’API Fabric pour GraphQL est conçue pour :

  • Développeurs d’applications créant des applications web et mobiles pilotées par les données, utilisant Fabric Lakehouse et des données d’entrepôt
  • Ingénieurs de données exposant les données Fabric aux applications en aval via des API modernes et flexibles sans écrire de code backend personnalisé
  • Développeurs d’intégration connectant des données Fabric à des applications personnalisées et des workflows automatisés
  • Développeurs BI créant des applications d’analytique personnalisées qui complètent Power BI avec des données de Fabric
  • Scientifiques des données exposant des données Fabric et des insights Machine Learning par le biais d’API programmatiques

Si vous travaillez au sein de la plateforme d’analytique unifiée Microsoft Fabric et que vous devez rendre les données de lakehouse, d’entrepôt ou de base de données SQL accessibles aux applications, l’API GraphQL offre un moyen efficace et convivial pour les développeurs d’interroger exactement les données dont vous avez besoin.

Conseil / Astuce

Vous souhaitez intégrer des API Fabric GraphQL à des agents IA ? Essayez le didacticiel Créer un serveur MCP GraphQL local pour les agents IA pour connecter des agents IA à vos données Fabric à l’aide du protocole de contexte du modèle.

Exposer des données via l’API pour GraphQL

L’exposition de sources de données à un élément GraphQL dans Microsoft Fabric est simple et peut être effectuée en quelques minutes à l’aide de l’interface visuelle du portail Fabric. Le processus implique les éléments suivants :

  1. Créer un élément d’API GraphQL dans votre espace de travail Fabric
  2. Connectez vos sources de données en sélectionnant parmi les lakehouses, entrepôts ou bases de données disponibles
  3. Choisir les objets à exposer , tels que des tables, des vues ou des procédures stockées
  4. Définir des relations (facultatives) entre les objets pour permettre des requêtes imbriquées puissantes
  5. Configurer des autorisations pour contrôler qui peut accéder à votre API

Une fois configuré, Fabric génère automatiquement le schéma GraphQL, crée les résolveurs nécessaires et vous fournit une URL de point de terminaison. Votre API est immédiatement prête à accepter des requêtes : aucune configuration de déploiement ou d’infrastructure n’est requise.

Pour obtenir des instructions pas à pas, consultez Créer une API pour GraphQL dans Fabric et ajouter des données.

Sources de données prises en charge

Actuellement, les sources de données prises en charge suivantes sont exposées via l’API Fabric pour GraphQL :

  • Microsoft Fabric Data Warehouse
  • Base de données Microsoft Fabric SQL
  • Microsoft Fabric Lakehouse via le point de terminaison d’analytique SQL
  • Bases de données mises en miroir Microsoft Fabric via un point de terminaison d’analytique SQL, incluant :
    • Azure SQL Database
    • Azure SQL Managed Instance (Instance gérée Azure SQL)
    • Base de données Azure Cosmos DB
    • Microsoft Fabric SQL Database
    • Azure Databricks
    • Snowflake
    • Ouvrir des bases de données mises en miroir
  • Base de données Azure SQL
  • Datamart

Fonctionnalités

L’API Microsoft Fabric pour GraphQL offre des fonctionnalités complètes qui simplifient l’accès aux données pour les applications. De la génération de code automatique à la supervision des performances, ces fonctionnalités vous permettent de créer des API de données robustes avec une configuration minimale.

Génération automatique du schéma

  • Découverte de schéma : détecte et mappe automatiquement les schémas de source de données aux types GraphQL
  • Génération des requêtes et des mutations : crée des requêtes graphQL et des mutations basées sur votre structure de données
  • Génération du programme de résolution : génère automatiquement les programmes de résolution nécessaires pour extraire des données à partir de vos sources
  • Code de test local : génère un exemple de code pour les tests et le développement immédiats

Flexibilité de la source de données

  • Plusieurs sources de données : Connecter et interroger plusieurs sources de données avec prise en charge des requêtes fan-out
  • Objets de base de données : prise en charge complète des tables, vues et procédures stockées dans les bases de données et les entrepôts SQL
  • Exposition sélective : choisir des objets et des colonnes spécifiques à exposer via l’API
  • Modélisation des relations : créer des relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs entre les entités de données

Opérations et supervision

  • Surveillance des performances : tableau de bord intégré et journalisation des demandes pour suivre le comportement et l’utilisation de l’API

Évolution du schéma sans contrôle de version

GraphQL adopte une approche unique de l’évolution des API en évitant le contrôle de version traditionnel. Au lieu de créer des points de terminaison v1, v2 et v3, les API GraphQL évoluent en continu :

  • Modifications additives : vous pouvez ajouter de nouveaux types, champs et fonctionnalités sans interrompre les requêtes existantes. Les clients demandent uniquement les champs dont ils ont besoin, de sorte que les nouveaux champs ne les affectent pas.
  • Compatibilité descendante : les requêtes existantes continuent de fonctionner à mesure que le schéma augmente, car GraphQL retourne uniquement les données demandées explicitement.
  • Déclassement plutôt que suppression : les champs peuvent être marqués comme obsolètes plutôt que supprimés immédiatement, ce qui permet aux clients de s'adapter.
  • Point de terminaison unique : les applications se connectent toujours au même point de terminaison, quel que soit le schéma modifié.

Cette approche simplifie la maintenance des API et les mises à niveau des clients par rapport aux API avec version traditionnelles. Lorsque vous modifiez votre schéma d’API GraphQL dans Fabric, les applications existantes continuent de fonctionner tant que vous ajoutez de nouvelles fonctionnalités plutôt que de supprimer ou de renommer des champs existants. Pour plus d’informations sur la gestion des modifications de schéma, consultez l’API Fabric pour l’introspection graphQL et l’exportation de schéma.

Expérience d’édition interactive

L’API pour GraphQL inclut un éditeur qui vous permet de développer et de tester facilement vos requêtes et mutations. Les fonctionnalités de l’éditeur sont les suivantes :

  • Volet de résultats pour visualiser la sortie des requêtes et mutations
  • Prise en charge des paramètres de requête et de mutation
  • IntelliSense qui prend en charge la syntaxe GraphQL et les noms d’objets de schéma

Pour plus d’informations sur l’utilisation de l’éditeur GraphQL, consultez l’API pour l’éditeur GraphQL.

Limitations

Pour plus d’informations, reportez-vous à l’API pour connaître les limitations graphQL .