Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die Fabric-API für GraphQL bietet eine grafische GraphQL-Entwicklungsumgebung, die es einem interaktiven Playground ermöglicht, die Liveergebnisse Ihrer GraphQL-Abfragen und -Mutationen zu verfassen, zu testen und anzuzeigen.
Wer den GraphQL-Editor verwendet
Der GraphQL-Editor ist für Folgendes unerlässlich:
- Anwendungsentwickler, die Prototypen erstellen und Abfragen mit Fabric-Daten testen, bevor sie in Anwendungen implementiert werden
- Dateningenieure untersuchen Lakehouse- und Warehouse-Datenstrukturen und validieren GraphQL-Schemadesigns
- Mitwirkende am Fabric-Arbeitsbereich testen die Zugriffsberechtigungen auf Daten und beheben Probleme mit Abfragen.
- BI-Entwickler lernen die API-Struktur und erstellen Datenzugriffsmuster für benutzerdefinierte Anwendungen
- Entwicklungsteams , die an der Abfrageentwicklung zusammenarbeiten und Datenzugriffsprobleme innerhalb von Fabric-Arbeitsbereichen beheben
Verwenden Sie den Editor, wenn Sie GraphQL-Abfragen interaktiv entwickeln, testen oder debuggen müssen, um gegen Ihre Fabric-Datenquellen vorzugehen.
Erste Schritte mit dem GraphQL-Editor
Führen Sie die folgenden Schritte aus, um mit der Verwendung des GraphQL-Editors zu beginnen:
Öffnen Sie das GraphQL-API-Element – Navigieren Sie zu Ihrem Arbeitsbereich in Fabric, und öffnen Sie die API für das GraphQL-Element.
Greifen Sie auf den Editor zu – Wählen Sie "Abfrage" in der unteren linken Ecke des Portalbildschirms aus.
Schreiben Sie Ihre Abfrage – Geben Sie Ihre GraphQL-Abfragen direkt auf der Registerkarte "Abfrage " ein. Verwenden Sie IntelliSense mit Tastenkombinationen:
- Windows: STRG+LEERTASTE
- macOS: cmd + Leertaste
Führen Sie die Abfrage aus: Wählen Sie "Ausführen" aus, um die Abfrage auszuführen und Daten aus Der Datenquelle abzurufen.
Generieren von Code
Der API-Editor generiert automatisch Textbausteine aus Python- oder Node.js-Code, die die GraphQL-Abfrage oder -Mutation widerspiegeln, die Sie derzeit im Editor testen. Während Sie Ihre Abfragen prototypisieren und verfeinern, wird der generierte Code entsprechend aktualisiert. Sobald Sie mit den Ergebnissen zufrieden sind, können Sie den generierten Code anzeigen und kopieren, um ihn zu Testzwecken lokal auszuführen oder ihn in Ihrem Anwendungsentwicklungsprozess wiederzuverwenden.
Wichtig
Der generierte Code verwendet interaktive Browseranmeldeinformationen und sollte nur zu Testzwecken verwendet werden. Registrieren Sie in der Produktion immer eine Anwendung in Microsoft Entra, und verwenden Sie die entsprechende client_id und Bereiche. Du findest ein End-to-End-Beispiel mit Beispielcode unter Connect Applications.
Erste Schritte:
Schreiben Sie eine Abfrage : Geben Sie die folgende Beispielabfrage (oder Ihre eigene) im Abfrage-Editor ein:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Führen Sie die Abfrage aus: Wählen Sie "Ausführen" aus, um die Abfrage auszuführen, und überprüfen Sie, ob sie im Editor ordnungsgemäß funktioniert, bevor Sie fortfahren.
Code generieren – Wählen Sie die Schaltfläche " Code generieren " und dann Ihre bevorzugte Programmiersprache (Python oder JavaScript/Node.JS) aus:
Anschließend können Sie den generierten Code kopieren und als Datei in einem lokalen Ordner speichern. Führen Sie je nach ausgewählter Sprache die folgenden schnellen Schritte aus, um lokal zu testen:
Python
Erstellen Sie eine Datei mit dem Namen
editor.py, und fügen Sie den generierten Code aus der obigen Beispielabfrage ein.Erstellen Sie eine virtuelle Umgebung, indem Sie den Befehl
python -m venv .venvausführen.Aktivieren Sie
venv, indem Sie.venv\Scripts\activateodersource .venv/bin/activateausführen.Installieren Sie die erforderliche Abhängigkeit, indem Sie
pip install azure-identityausführen.Führen Sie den Code mit
python editor.pyaus.Sie werden aufgefordert, sich über ein Browserfenster anzumelden, um die Anforderung zu authentifizieren.
Die Antwort der API wird in der Konsole gedruckt.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Node.JS
Erstellen Sie eine Datei mit dem Namen
editor.js, und fügen Sie den generierten Code aus der obigen Beispielabfrage ein.Erstellen Sie in
editor.jsdemselben Ordner wiepackage.jsoneine Datei mit dem folgenden Inhalt:{ "type": "module", "dependencies": {} }Installieren Sie Node.js auf Ihrem Entwicklungscomputer (einschließlich npm)
Führen Sie
npm install @azure/identityoder einen ähnlichen Befehl in Ihrem ausgewählten Paketmanager aus, um die neueste Version der Identitätsbibliothek zu installieren.Führen Sie
node editor.jsaus, um den Code auszuführen.Sie werden aufgefordert, sich über ein Browserfenster anzumelden, um die Anforderung zu authentifizieren.
Die Antwort der API wird in der Konsole gedruckt.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Entwicklung von Abfragen und Mutationen
Die folgenden Beispiele veranschaulichen die GraphQL-Abfrage- und Mutationssyntax mithilfe der AdventureWorks-Beispieldaten. In diesen Beispielen wird davon ausgegangen, dass Sie mit einem Fabric Data Warehouse arbeiten, das Schreibvorgänge (Mutationen) unterstützt. Auf Datenquellen, auf die über SQL Analytics-Endpunkte (wie Lakehouses und gespiegelte Datenbanken) zugegriffen wird, kann nur lesend zugegriffen werden; sie unterstützen nur Abfragen, keine Änderungen.
Lesen Sie diesen kurzen GraphQL-Schemaauszug aus AdventureWorks. Er definiert einen Product Typ mit Abfragen, um ein einzelnes Produkt zu lesen oder alle Produkte auflisten und Mutationen zum Erstellen, Aktualisieren oder Löschen von Produkten, die alle CRUDL-Anwendungsfälle unterstützen (Erstellen, Lesen, Aktualisieren, Löschen, Listen).
{
type Product {
ProductID: Int!
Name: String!
ProductNumber: String!
Color: String
ListPrice: Float!
SellStartDate: DateTime!
}
type Query {
products(first: Int, filter: ProductFilterInput): ProductConnection
products_by_pk(ProductID: Int!): Product
}
type Mutation {
createProduct(Name: String!, ProductNumber: String!, ListPrice: Float!, SellStartDate: DateTime!): Product
updateProduct(ProductID: Int!, Name: String, Color: String, ListPrice: Float): Product
deleteProduct(ProductID: Int!): Boolean
}
}
Lesen Sie die Daten, die über GraphQL verfügbar gemacht werden, mithilfe einer abfrage, die im Schema definiert ist. Die products_by_pk Abfrage ruft ein einzelnes Produkt anhand des Primärschlüssels ab:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Antwort:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Verwenden Sie Mutationen wie createProduct, um Daten zu schreiben und ein neues Produkt mit den erforderlichen Parametern zu erstellen.
mutation MyMutation {
createProduct(
Name: "Mountain Bike Helmet - Blue",
ProductNumber: "HE-M897-B",
ListPrice: 89.99,
SellStartDate: "2025-01-01T00:00:00Z"
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Antwort:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Abfragevariablen
Verwenden Sie den Bereich "Abfragevariablen " auf der rechten Seite der Registerkarte " Abfrage ", um Parameter als Variablen an Ihre Abfragen oder Mutationen zu übergeben. Variablen funktionieren wie Variablen in anderen Programmiersprachen. Jede Variable wird mit einem Namen deklariert, der für den Zugriff auf den darin gespeicherten Wert verwendet wird. Im vorherigen Mutationsbeispiel ändern Sie es geringfügig, um Abfragevariablen zu verwenden.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Definieren Sie Variablen im Bereich "Abfragevariablen " mithilfe des folgenden Beispiels.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
Variablen machen den Mutationscode übersichtlicher, einfacher zu lesen, zu testen und zu ändern. Sie machen es auch einfach, dieselbe Mutation mit unterschiedlichen Werten wiederzuverwenden, indem sie einfach die Variablen ändern.