Partager via


Créer une API pour GraphQL dans Fabric et ajouter des données

Commencez à utiliser l’API Fabric pour GraphQL en créant une API, puis en liant une source de données pour exposer les données que vous avez choisies via l’API. Fabric génère automatiquement le schéma GraphQL en fonction de vos données, et les applications sont prêtes à se connecter en quelques minutes.

Prérequis

Création d’une API pour GraphQL

Pour créer une API pour GraphQL suivez les étapes suivantes :

  1. Dans la page d’accueil du portail Fabric, sélectionnez Engineering données dans la liste des charges de travail.

  2. Sélectionnez l’API pour GraphQL (préversion).

    Capture d’écran de la vignette API, que vous sélectionnez pour créer un article API.

    Vous pouvez également sélectionner Nouvelle>API pour GraphQL (préversion) dans n’importe quel espace de travail dans Ingénieurs Données.

    Capture d’écran de la barre d’outils de l’espace de travail, illustrant où sélectionner l’option Nouvelle.

  3. Saisissez un Nom pour votre article et sélectionnez Créer.

    Capture d’écran de la zone de dialogue Nouvelle API pour GraphQL, illustrant où saisir le nom et sélectionner Créer.

Vous disposez désormais d’une API entièrement fonctionnelle pour accéder à vos données dans Fabric.

Se connecter à une source de données et générer un schéma

À ce stade, l’API est prête, mais elle n’expose aucune donnée. Les API pour GraphQL sont définies dans un schéma organisé en termes de types et de champs, dans un système fortement typé. Fabric génère automatiquement le schéma GraphQL nécessaire en fonction des données que vous choisissez d’exposer aux clients GraphQL.

  1. Dans votre nouvelle API, choisissez une source de données à exposer en choisissant Sélectionner une source de données.

    Capture d’écran de l’option Sélectionner une source de données.

  2. Sélectionnez ensuite l’option de connectivité pour votre API :

    Capture d’écran de l’option Choisir la connectivité.

    Ici, vous pouvez définir comment les clients d’API peuvent accéder à l’API pour exécuter des requêtes GraphQL en fonction de deux options distinctes :

    • Authentification unique (SSO) : utilisez les informations d’identification du client pour vous connecter aux sources de données, ce qui signifie que l’utilisateur de l’API authentifié doit avoir accès à la source de données sous-jacente. Par exemple, si vous exposez des données de lakehouse à vos clients d’API, l’utilisateur authentifié doit avoir accès à l’API et au lakehouse. Plus spécifiquement, des autorisations Exécuter sur l’API GraphQL (l’option Exécuter des requêtes et des mutations lors de l’ajout d’autorisations d’accès direct), et les autorisations appropriées de lecture ou d’écriture requises dans la source de données de votre choix. L’utilisateur peut aussi être ajouté en tant que membre de l’espace de travail avec un rôle Contributeur où se trouvent l’API et les éléments de la source de données, ce qui donnera l’accès requis aux deux éléments depuis un même emplacement. Pour plus d’informations, consultez Accorder aux utilisateurs l’accès aux espaces de travail.
    • Informations d’identification enregistrées : utilisez les informations d’identification enregistrées pour vous connecter à des sources de données, ce qui signifie que l’utilisateur de l’API authentifié ne nécessite pas un accès direct à la source de données. Les informations d’identification enregistrées sont partagées pour accéder aux données entre l’API et les tables sous-jacentes de la source de données. Par exemple, si vous exposez des données de lakehouse à vos clients d’API, l’utilisateur authentifié a seulement besoin d’un accès direct à l’API (l’option Exécuter des requêtes et mutations lors de l’ajout d’autorisations d’accès direct) et non pas au lakehouse. Des informations d’identification enregistrées permettent de connecter l’API à la source de données et elles sont partagées par tous les utilisateurs d’API authentifiés. Cette option est requise si vous exposez une source de données Azure comme une base de données Azure SQL via GraphQL. Après avoir sélectionné OK, vous êtes invité à créer des informations d’identification enregistrées après avoir choisi une source de données à l’étape suivante si des informations d’identification enregistrées pour celle-ci ne sont pas déjà en place.

    Une fois ces options sélectionnées, elles sont appliquées pour toutes les sources de données ajoutées par la suite à l’API. Il n’est pas possible de combiner l’authentification unique et des informations d’identification enregistrées dans la même API. En outre, bien qu’il soit possible d’utiliser des noms d’utilisateur principal (UPN) ou des noms de principal de service (SPN) pour se connecter à votre API, actuellement, les principaux de service prennent en charge seulement l’authentification unique (SSO). Les principaux d’utilisateur peuvent tirer parti de l’authentification unique ou des informations d’identification enregistrées, en fonction de vos besoins en matière de sécurité.

    Remarque

    L’API pour GraphQL requiert que les applications clientes utilisent Microsoft Entra pour l’authentification. Votre application cliente doit être inscrite et configurée de manière appropriée pour effectuer des appels d’API sur Fabric. L’application inscrite dans Microsoft Entra requiert des autorisations d’API Item.Execute.All pour le service Power BI. Vous trouverez un tutoriel de bout en bout avec des instructions et des exemples de code pour les principaux d’utilisateur et les principaux de service dans Connecter des applications.

  3. Le hub de données OneLake apparaît ; choisissez la source de données à laquelle vous souhaitez vous connecter. Dans l’exemple suivant, nous choisissons un point de terminaison AdventureWorks analytique SQL lié à une base de données miroir. Sélectionnez Filtre pour n’afficher que certains types de sources de données Fabric ou pour effectuer une recherche par mot-clé spécifique. Lorsque vous êtes prêt, sélectionnez Connecter.

    Capture d’écran du hub de données OneLake illustrant les options de source de données disponibles pour un espace de travail.

  4. L’écran Obtenir des données s’affiche et vous permet de sélectionner les objets que vous souhaitez exposer dans votre schéma GraphQL.

    Capture de l’écran Obtenir des données illustrant la liste Choisir des données.

  5. Cochez les cases en regard des tables individuelles ou des procédures stockées que vous souhaitez exposer dans l’API. Pour sélectionner tous les objets d’un dossier, cochez la case portant le nom de source de données dans la partie supérieure.

    Capture d’écran de la liste Sélectionner les données avec un dossier sélectionné. Elle permet de sélectionner automatiquement tous les éléments contenus dans ce dossier.

  6. Sélectionnez Charger pour lancer le processus de génération du schéma GraphQL.

  7. Le schéma est généré et vous pouvez commencer à prototyper des requêtes GraphQL (lecture, liste) ou des mutations (création, mise à jour, suppression) pour interagir avec vos données.

    Capture d’écran de l’Explorer du schéma.

Votre API pour GraphQL est maintenant prête à accepter les connexions et les demandes. Vous pouvez utiliser l’éditeur API pour tester et prototyper des requêtes GraphQL et l’Explorer du schéma pour vérifier les types de données, ainsi que les champs exposés dans l’API.

Résumé des autorisations

Le tableau ci-dessous récapitule les différentes permutations prises en charge et les autorisations minimales requises pour les clients accédant à l’API GraphQL :

Appelant de l’API connectivité de la source de données ; Autorisations requises pour l’API GraphQL Autorisations requises pour la source de données Étendue de l’application Entra
Nom d’utilisateur principal (UPN) Authentification unique (SSO) Exécuter des requêtes et des mutations au niveau de l’API Autorisations de lecture/écriture appropriées accordées à l’UPN au niveau de la source de données Item.Execute.All
Principal de service (SPN) Authentification unique (SSO) Exécuter des requêtes et des mutations au niveau de l’API Autorisations de lecture/écriture appropriées accordées au SPN au niveau de la source de données Item.Execute.All
Nom d’utilisateur principal (UPN) Informations d’identification enregistrées Exécuter des requêtes et des mutations au niveau de l’API Autorisations de lecture/écriture appropriées accordées aux informations d’identification enregistrées (connexion) au niveau de la source de données Item.Execute.All
Principal de service (SPN) Informations d’identification enregistrées Actuellement non pris en charge Actuellement non pris en charge Actuellement non pris en charge