Teilen über


Was ist die Microsoft Fabric-API für GraphQL?

GraphQL ist eine Open-Source-Abfragesprache und Laufzeit für APIs, die von der GraphQL Foundation verwaltet werden. Im Gegensatz zu herkömmlichen REST-APIs ermöglicht GraphQL Clients, genau die Daten anzufordern, die sie in einer einzelnen Abfrage benötigen, wodurch das Über-Abfragen und Unter-Abfragen von Daten reduziert wird.

Die Microsoft Fabric-API für GraphQL bringt diesen leistungsstarken Standard in das Fabric-Ökosystem als Datenzugriffsebene, mit der Sie mehrere Datenquellen schnell und effizient abfragen können. Die API abstrahiert die Besonderheiten von Back-End-Datenquellen, sodass Sie sich auf die Logik Ihrer Anwendung konzentrieren und alle Daten bereitstellen, die ein Client in einem einzigen Aufruf benötigt. Mit der einfachen Abfragesprache und der effizienten Ergebnissatzbearbeitung minimiert GraphQL die Zeit, die Anwendungen für den Zugriff auf Ihre Daten in Fabric benötigt.

Gründe für die Verwendung von GraphQL für Fabric-Daten

Ohne GraphQL erfordert das Verfügbarmachen von Fabric-Daten für Anwendungen in der Regel eine der folgenden Ansätze:

Direkte Datenbankverbindungen

  • Anwendungen verbinden sich direkt mit Lakehouses oder Warehouses mithilfe von SQL-Treibern (ODBC, JDBC)
  • Koppelt Anwendungscode eng mit Datenbankschemas – Schemaänderungen unterbrechen Anwendungen
  • Erfordert die Verwaltung von Verbindungszeichenfolgen, Anmeldeinformationen und Treiberabhängigkeiten in jeder Anwendung.
  • SQL-Abfragen, die in Anwendungscode eingebettet sind, können nur schwer getestet und verwaltet werden.

Benutzerdefinierte REST-APIs

  • Erstellen und Verwalten von benutzerdefinierten Back-End-Diensten mit Frameworks wie ASP.NET oder Node.js
  • Schreiben von Controllercode, Routinglogik und Datenzugriffsebenen für jeden Endpunkt
  • Erstellen separater API-Versionen (v1, v2, v3), wenn Datenstrukturen geändert werden
  • Überholen von Daten (Abrufen ganzer Zeilen, wenn Sie nur wenige Spalten benötigen) oder Unterabruf (Erstellen mehrerer Roundtrips für verwandte Daten)

GraphQL löst diese Herausforderungen:

  • Kein Back-End-Code erforderlich: Fabric generiert automatisch das GraphQL-Schema, Resolver und Endpunkt aus Ihren Datenquellen.
  • Fragen Sie genau das, was Sie benötigen: Fordern Sie bestimmte Felder in einer einzigen Abfrage an, wodurch Überabrufen verhindert und die Nutzlastgrößen reduziert werden können.
  • Abrufen verwandter Daten in einer Anforderung: Durchlaufen von Beziehungen ohne mehrere Roundtrips (kein Abfrageproblem N+1)
  • Schemaentwicklung ohne unterbrechungslose Änderungen: Hinzufügen neuer Felder ohne Auswirkungen auf vorhandene Abfragen – Clients fordern nur an, was sie wissen
  • Typsicherheit und Dokumentation: Selbstdokumentierendes Schema mit integrierter Introspektion, die von Entwicklungstools verstanden wird
  • Einheitlicher Zugriff auf mehrere Quellen: Abfragen über Seehäuser, Lagerhäuser und SQL-Datenbanken über einen einzelnen Endpunkt

Für Anwendungsentwickler bedeutet GraphQL eine schnellere Entwicklung mit weniger Infrastruktur. Für Dateningenieure bedeutet dies, Daten verfügbar zu machen, ohne benutzerdefinierten API-Code zu schreiben und zu verwalten.

Wer sollte API für GraphQL verwenden?

Die Fabric-API für GraphQL wurde für Folgendes entwickelt:

  • Anwendungsentwickler , die datengesteuerte Web- und mobile Anwendungen erstellen, die Fabric Lakehouse- und Warehouse-Daten nutzen
  • Dateningenieure, die Fabric-Daten über moderne, flexible APIs verfügbar machen, ohne benutzerdefinierten Backend-Code zu schreiben.
  • Integrationsentwickler verbinden Fabric-Daten mit benutzerdefinierten Anwendungen und automatisierten Workflows
  • BI-Entwickler erstellen benutzerdefinierte Analyseanwendungen, die Power BI mit Fabric-Daten ergänzen
  • Data Scientists, die Fabric-Daten und Erkenntnisse des maschinellen Lernens durch programmgesteuerte APIs bereitstellen

Wenn Sie innerhalb der einheitlichen Analyseplattform von Microsoft Fabric arbeiten und Lakehouse-, Warehouse- oder SQL-Datenbankdaten für Anwendungen zugänglich machen müssen, bietet die GraphQL-API eine effiziente, entwicklerfreundliche Möglichkeit, genau die benötigten Daten abzufragen.

Tipp

Möchten Sie Fabric GraphQL-APIs in KI-Agents integrieren? Testen Sie das Lernprogramm zum Erstellen eines lokalen GraphQL MCP-Servers für KI-Agents , um KI-Agents mit Ihren Fabric-Daten mithilfe des Model Context Protocol zu verbinden.

Verfügbarmachen von Daten über die API für GraphQL

Das Verfügbarmachen von Datenquellen für ein GraphQL-Element in Microsoft Fabric ist einfach und kann in Minuten mithilfe der visuellen Benutzeroberfläche des Fabric-Portals erreicht werden. Der Prozess umfasst Folgendes:

  1. Erstellen eines GraphQL-API-Elements in Ihrem Fabric-Arbeitsbereich
  2. Verbinden Sie Ihre Datenquellen , indem Sie aus verfügbaren Seehäusern, Lagerhäusern oder Datenbanken auswählen.
  3. Auswählen, welche Objekte verfügbar gemacht werden sollen , z. B. Tabellen, Ansichten oder gespeicherte Prozeduren
  4. Definieren von Beziehungen (optional) zwischen Objekten, um leistungsstarke geschachtelte Abfragen zu ermöglichen
  5. Konfigurieren von Berechtigungen zum Steuern, wer auf Ihre API zugreifen kann

Nach der Konfiguration generiert Fabric automatisch das GraphQL-Schema, erstellt die erforderlichen Resolver und stellt eine Endpunkt-URL bereit. Ihre API ist sofort bereit, Abfragen zu akzeptieren– es ist keine Bereitstellungs- oder Infrastruktureinrichtung erforderlich.

Schrittweise Anleitungen finden Sie unter Erstellen einer API für GraphQL in Fabric und Hinzufügen von Daten.

Unterstützte Datenquellen

Derzeit werden die folgenden unterstützten Datenquellen über die Fabric-API für GraphQL verfügbar gemacht:

  • Microsoft Fabric Data Warehouse
  • Microsoft Fabric SQL-Datenbank
  • Microsoft Fabric Lakehouse über SQL Analytics-Endpunkt
  • Microsoft Fabric-Spiegeldatenbanken via SQL Analytics-Endpunkt, einschließlich:
    • Azure SQL-Datenbank
    • Verwaltete Azure SQL-Instanz
    • Azure Cosmos DB (ein Microsoft-Datenbankdienst)
    • Microsoft Fabric SQL-Datenbank
    • Azure Databricks
    • Schneeflocke
    • Öffnen von gespiegelten Datenbanken
  • Azure SQL-Datenbank
  • Datamart

Funktionen

Die Microsoft Fabric-API für GraphQL bietet umfassende Funktionen, die den Datenzugriff für Anwendungen optimieren. Von der automatischen Codegenerierung bis zur Leistungsüberwachung können Sie mit diesen Features stabile Daten-APIs mit minimaler Konfiguration erstellen.

Automatische Schemagenerierung

  • Schemaermittlung: Ermittelt und ordnet Datenquellenschemas automatisch GraphQL-Typen zu.
  • Abfrage- und Mutationsgenerierung: Erstellt GraphQL-Abfragen und Mutationen basierend auf Ihrer Datenstruktur
  • Resolver-Generation: Generiert automatisch die Resolver, die zum Abrufen von Daten aus Ihren Quellen erforderlich sind.
  • Lokaler Testcode: Generiert Beispielcode für sofortige Tests und Entwicklung

Flexibilität bei Datenquellen

  • Mehrere Datenquellen: Verbinden und Abfragen über mehrere Datenquellen mit Unterstützung für Fan-out-Abfragen
  • Datenbankobjekte: Vollständige Unterstützung für Tabellen, Ansichten und gespeicherte Prozeduren in SQL-Datenbanken und -Lagerhäusern
  • Selektive Belichtung: Auswählen bestimmter Objekte und Spalten, die über die API verfügbar gemacht werden sollen
  • Beziehungsmodellierung: Erstellen von 1:1-, 1:n- und n:n-Beziehungen zwischen Datenentitäten

Betrieb und Überwachung

  • Leistungsüberwachung: Integriertes Dashboard und Anforderungsprotokollierung zum Nachverfolgen des API-Verhaltens und der Verwendung

Schemaentwicklung ohne Versionsverwaltung

GraphQL verfolgt einen einzigartigen Ansatz für die API-Entwicklung, indem herkömmliche Versionsverwaltungen vermieden werden. Anstatt v1-, v2- und v3-Endpunkte zu erstellen, werden GraphQL-APIs kontinuierlich weiterentwickelt:

  • Additive Änderungen: Sie können neue Typen, Felder und Funktionen hinzufügen, ohne vorhandene Abfragen zu unterbrechen. Clients fordern nur die benötigten Felder an, sodass sich neue Felder nicht darauf auswirken.
  • Abwärtskompatibilität: Vorhandene Abfragen funktionieren weiterhin, auch wenn das Schema wächst, da GraphQL nur explizit angeforderte Daten zurückgibt.
  • Veraltbarkeit über Entfernung: Felder können, statt sofort entfernt zu werden, als veraltet gekennzeichnet werden, sodass Clients Zeit für die Anpassung haben.
  • Einzelner Endpunkt: Anwendungen stellen unabhängig von Schemaänderungen immer eine Verbindung mit demselben Endpunkt her.

Dieser Ansatz vereinfacht die API-Wartung und Clientupgrade im Vergleich zu herkömmlichen versionsierten APIs. Wenn Sie Ihr GraphQL-API-Schema in Fabric ändern, funktionieren vorhandene Anwendungen weiterhin, solange Sie neue Funktionen hinzufügen, anstatt vorhandene Felder zu entfernen oder umzubenennen. Weitere Informationen zum Verwalten von Schemaänderungen finden Sie unter Fabric-API für GraphQL-Introspection und Schemaexport.

Interaktive Bearbeitungsumgebung

Die API für GraphQL enthält einen Editor, mit dem Sie Ihre Abfragen und Mutationen problemlos entwickeln und testen können. Zu den Funktionen des Editors gehören:

  • Ein Ergebnisbereich zum Visualisieren der Ausgabe von Abfragen und Mutationen
  • Unterstützung für Abfrage- und Mutationsparameter
  • IntelliSense, der die GraphQL-Syntax und Schemaobjektnamen unterstützt

Weitere Informationen zur Verwendung des GraphQL-Editors finden Sie unter API für GraphQL-Editor.

Begrenzungen

Weitere Informationen finden Sie unter API für GraphQL-Einschränkungen .