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
- Aktivieren Sie die Mandantenadministratoreinstellung „Benutzer können Fabric-Elemente erstellen“.
Erstellen einer API für GraphQL
So erstellen Sie eine API für GraphQL:
Wählen Sie auf der Startseite des Fabric-Portals Datentechnik aus der Liste der Workloads aus.
Wählen Sie die API für GraphQL (Vorschau) aus.
Alternativ können Sie in Technische Fachkraft für Daten eine neue>API für GraphQL (Vorschau) aus einem beliebigen Arbeitsbereich auswählen.
Geben Sie einen Namen für den Artikel ein und wählen Sie dann Erstellen aus.
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.
Wählen Sie in Ihrer neuen API eine Datenquelle aus, die verfügbar gemacht werden soll, indem Sie Datenquelle auswählen auswählen.
Wählen Sie als Nächstes die Konnektivitätsoption für Ihre API aus:
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.
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.
Der Bildschirm Daten abrufen wird angezeigt, in dem Sie auswählen können, welche Objekte im GraphQL-Schema verfügbar gemacht werden sollen.
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.
Wählen Sie Laden aus, um den GraphQL-Schemagenerierungsprozess zu starten.
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.
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. |