Freigeben über


Erstellen einer API für GraphQL in Fabric und Hinzufügen von Daten

Beginnen Sie mit der Fabric API für GraphQL, indem Sie eine API erstellen und dann eine Datenquelle verknüpfen, um die von Ihnen ausgewählten Daten über die API verfügbar zu machen. Fabric erstellt das GraphQL-Schema automatisch basierend auf Ihren Daten, und Anwendungen können in Minuten eine Verbindung herstellen.

Voraussetzungen

Erstellen einer API für GraphQL

So erstellen Sie eine API für GraphQL:

  1. Wählen Sie auf der Startseite des Fabric-Portals Datentechnik aus der Liste der Workloads aus.

  2. Wählen Sie die API für GraphQL (Vorschau) aus.

    Screenshot der API-Kachel, die Sie zum Erstellen eines neuen API-Elements auswählen.

    Alternativ können Sie in Technische Fachkraft für Daten eine neue>API für GraphQL (Vorschau) aus einem beliebigen Arbeitsbereich auswählen.

    Screenshot der Symbolleiste des Arbeitsbereichs, der zeigt, wo die neue Option zu wählen ist.

  3. Geben Sie einen Namen für den Artikel ein und wählen Sie dann Erstellen aus.

    Screenshot: Dialogfeld „Neue API für GraphQL“ mit dem Feld für die Eingabe des Namens und der Schaltfläche „Erstellen“

Sie verfügen jetzt über eine voll funktionsfähige API für den Zugriff auf Ihre Daten in Fabric.

Verbinden zu einer Datenquelle und erstellen Sie Ihr Schema.

An diesem Punkt ist die API bereit, aber sie stellt keine Daten offen. APIs für GraphQL werden in einem Schema definiert, das in Bezug auf Typen und Felder in einem stark stark typisierten System organisiert ist. Fabric generiert automatisch das erforderliche GraphQL-Schema basierend auf den Daten, die Sie für GraphQL-Clients verfügbar machen möchten.

  1. Wählen Sie in Ihrer neuen API eine Datenquelle aus, die verfügbar gemacht werden soll, indem Sie Datenquelle auswählen auswählen.

    Screenshot der Option „Datenquelle auswählen“.

  2. Wählen Sie als Nächstes die Konnektivitätsoption für Ihre API aus:

    Screenshot der Option „Konnektivität auswählen“.

    Hier können Sie definieren, wie API-Clients auf die API zugreifen können, um GraphQL-Anforderungen basierend auf zwei unterschiedlichen Optionen auszuführen:

    • Einmaliges Anmelden (Single Sign-On, SSO): Verwenden Sie Clientanmeldeinformationen, um eine Verbindung mit Datenquellen herzustellen. Dies bedeutet, dass der authentifizierte API-Benutzer Zugriff auf die zugrunde liegende Datenquelle haben muss. Wenn Sie beispielsweise Lakehouse-Daten für Ihre API-Clients verfügbar machen, muss der authentifizierte Benutzer Zugriff auf die API und das Lakehouse haben. Genauer gesagt sind Ausführen-Berechtigungen für die GraphQL-API (Option Abfragen und Mutationen ausführen beim Hinzufügen von Berechtigungen für direkten Zugriff) und Lese- oder Schreibberechtigungen in der Datenquelle der Wahl erforderlich. Alternativ kann der Benutzer als Arbeitsbereichsmitglied mit einer Teilnehmerrolle hinzugefügt werden, zu der die API- und die Datenquellenelemente gehören, wodurch der erforderliche Zugriff auf beide Elemente von einem zentralen Ort aus möglich ist. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf Arbeitsbereiche für Benutzer.
    • Gespeicherte Anmeldeinformationen: Verwenden Sie gespeicherte Anmeldeinformationen, um eine Verbindung mit Datenquellen herzustellen, was bedeutet, dass der authentifizierte API-Benutzer keinen direkten Zugriff auf die Datenquelle benötigt. Gespeicherte Anmeldeinformationen werden für den Zugriff auf die Daten zwischen der API und zugrunde liegenden Tabellen in der Datenquelle freigegeben. Wenn Sie beispielsweise Lakehouse-Daten Ihren API-Clients zur Verfügung stellen, muss der authentifizierte Benutzer nur direkten Zugriff auf die API haben (Option Abfragen und Mutationen ausführen beim Hinzufügen von Berechtigungen für direkten Zugriff) und nicht auf das Lakehouse. Gespeicherte Anmeldeinformationen werden verwendet, um die API mit der Datenquelle zu verbinden, und für alle authentifizierten API-Benutzer freigegeben. Diese Option ist erforderlich, wenn Sie eine Azure-Datenquelle wie eine Azure SQL-Datenbank über GraphQL verfügbar machen. Nachdem Sie „OK“ ausgewählt haben, werden Sie aufgefordert, neue gespeicherte Anmeldeinformationen zu erstellen, sobald Sie im nächsten Schritt eine Datenquelle ausgewählt haben, wenn dafür noch keine gespeicherten Anmeldeinformationen vorhanden sind.

    Nach der Auswahl werden diese Optionen für alle Datenquellen erzwungen, die anschließend der API hinzugefügt werden. Es ist nicht möglich, einmaliges Anmelden und gespeicherte Anmeldeinformationen in einer API zu kombinieren. Darüber hinaus können Sie Benutzerprinzipalnamen (User Principal Names, UPNs) oder Dienstprinzipalnamen (Service Principal Names, SPNs) verwenden, um eine Verbindung mit Ihrer API herzustellen. Dienstprinzipale unterstützen derzeit nur einmaliges Anmelden (Single Sign-On, SSO). Benutzerprinzipale können abhängig von Ihren Sicherheitsanforderungen SSO oder gespeicherte Anmeldeinformationen nutzen.

    Hinweis

    Die API für GraphQL erfordert, dass Clientanwendungen Microsoft Entra für die Authentifizierung verwenden. Die Clientanwendung muss registriert und entsprechend konfiguriert werden, um API-Aufrufe für Fabric auszuführen. Für die in Microsoft Entra registrierte App sind Item.Execute.All-API-Berechtigungen für den Power BI-Dienst erforderlich. Sie finden ein komplettes Tutorial mit Anweisungen und Beispielcode für Benutzerprinzipale und Dienstprinzipale unter Herstellen einer Verbindung mit Anwendungen.

  3. Der OneLake-Datenhub wird angezeigt; wählen Sie die Datenquelle aus, mit der Sie eine Verbindung herstellen möchten. Im folgenden Beispiel wählen wir einen AdventureWorks-SQL-Analyseendpunkt aus, der mit einer Spiegeldatenbank verknüpft ist. Wählen Sie Filter aus, um nur bestimmte Typen von Fabric-Datenquellen anzuzeigen oder nach einem bestimmten Schlüsselwort (keyword) zu suchen. Wenn Sie bereit sind, wählen Sie Verbinden aus.

    Screenshot des OneLake-Datenhubs mit verfügbaren Datenquellenoptionen für einen Arbeitsbereich.

  4. Der Bildschirm Daten abrufen wird angezeigt, in dem Sie auswählen können, welche Objekte im GraphQL-Schema verfügbar gemacht werden sollen.

    Screenshot des Bildschirms „Daten abrufen“ mit der Liste „Daten auswählen“.

  5. Aktivieren Sie die Kontrollkästchen neben den einzelnen Tabellen oder gespeicherten Prozeduren, die Sie in der API verfügbar machen möchten. Um alle Objekte in einem Ordner auszuwählen, aktivieren Sie das Kontrollkästchen mit dem Datenquellennamen oben.

    Screenshot der Liste „Daten auswählen“ mit ausgewähltem Ordner, der automatisch alle Elemente innerhalb dieses Ordners auswählt.

  6. Wählen Sie Laden aus, um den GraphQL-Schemagenerierungsprozess zu starten.

  7. Das Schema wird generiert und Sie können mit der Prototyperstellung von GraphQL-Abfragen (Lesen, Liste) oder Mutationen (Erstellen, Aktualisieren, Löschen) beginnen, um mit Ihren Daten zu interagieren.

    Screenshot des Bildschirms „Schema-Explorer“.

Ihre API für GraphQL ist jetzt bereit, Verbindungen und Anforderungen zu akzeptieren. Sie können den API-Editor verwenden, um GraphQL-Abfragen und den Schema-Explorer zu testen und zu prototypieren, um die Datentypen und Felder zu überprüfen, die in der API verfügbar gemacht werden.

Zusammenfassung der Berechtigungen

In der folgenden Tabelle sind die verschiedenen unterstützten Permutationen und mindestens erforderliche Berechtigungen für Clients zusammengefasst, die auf die GraphQL-API zugreifen:

API-Aufrufer Datenquellenkonnektivität Erforderliche GraphQL-API-Berechtigungen Erforderliche Datenquellenberechtigungen Entra-App-Bereich
Benutzerprinzipal (User Principal Name, UPN) Einmaliges Anmelden (Single Sign-On, SSO) Abfragen und Mutationen ausführen auf API-Ebene Entsprechende Lese-/Schreibberechtigungen, die dem UPN für die Datenquelle gewährt werden Item.Execute.All
Dienstprinzipal (Service Principal Name, SPN) Einmaliges Anmelden (Single Sign-On, SSO) Abfragen und Mutationen ausführen auf API-Ebene Entsprechende Lese-/Schreibberechtigungen, die dem SPN für die Datenquelle gewährt werden Item.Execute.All
Benutzerprinzipal (User Principal Name, UPN) Gespeicherte Anmeldeinformationen Abfragen und Mutationen ausführen auf API-Ebene Entsprechende Lese-/Schreibberechtigungen, die den gespeicherten Anmeldeinformationen (Verbindung) für die Datenquelle gewährt werden Item.Execute.All
Dienstprinzipal (Service Principal Name, SPN) Gespeicherte Anmeldeinformationen Wird derzeit nicht unterstützt. Wird derzeit nicht unterstützt. Wird derzeit nicht unterstützt.