Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Fabric-API'en til GraphQL indeholder et grafisk GraphQL-udviklingsmiljø i browseren, som gør det muligt for en interaktiv legeplads at skrive, teste og se liveresultaterne af dine GraphQL-forespørgsler og -mutationer.
Hvem bruger GraphQL-editoren
GraphQL-editoren er essentiel for:
- Applikationsudviklere prototyper og tester forespørgsler mod Fabric-data, før de implementerer dem i applikationer
- Dataingeniører , der udforsker lakehouse- og warehouse-datastrukturer og validerer GraphQL-skemadesigns
- Fabric workspace-bidragydere tester dataadgangstilladelser og fejlsøger forespørgselsproblemer
- BI-udviklere lærer API-strukturen og skaber dataadgangsmønstre til brugerdefinerede applikationer
- Udviklingsteams , der samarbejder om forespørgselsudvikling og fejlfinding af dataadgangsproblemer i Fabric-arbejdsområder
Brug editoren, når du har brug for interaktivt at udvikle, teste eller fejlfinde GraphQL-forespørgsler mod dine Fabric-datakilder.
Kom i gang med GraphQL-editoren
Følg disse trin for at begynde at bruge GraphQL-editoren:
Åbn GraphQL API-elementet - Navigér til dit arbejdsområde i Fabric og åbn API'en for GraphQL-elementet.
Få adgang til editoren - Vælg Forespørgsel i nederste venstre hjørne af din portalskærm.
Skriv din forespørgsel - Indtast dine GraphQL-forespørgsler direkte på fanen Forespørgsel . Brug Intellisense med genvejstaster:
- Windows: CTRL + Mellemrum
- macOS: Kommando + Mellemrum
Udfør forespørgslen - Vælg Kør for at udføre forespørgslen og hente data fra din datakilde.
Generér kode
API-editoren genererer automatisk boilerplate Python- eller Node.js-kode, der afspejler den GraphQL-forespørgsel eller mutation, du i øjeblikket tester i editoren. Når du prototyper og forfiner dine forespørgsler, opdateres den genererede kode derefter. Når du er tilfreds med resultaterne, kan du se og kopiere den genererede kode til at køre lokalt til testformål eller genbruge den i din applikationsudviklingsproces.
Vigtigt
Den genererede kode bruger interaktive browserlegitimationsoplysninger og bør kun bruges til testformål. I produktionen skal du altid registrere et program i Microsoft Entra og bruge de relevante client_id områder og områder. Du kan finde et eksempel fra ende til anden med eksempelkode i Connect Applications.
Sådan kommer du i gang:
Skriv en forespørgsel - Indtast følgende eksempelforespørgsel (eller din egen) i forespørgselseditoren:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Kør forespørgslen - Vælg Kør for at udføre forespørgslen og verificér, at det fungerer korrekt i editoren, før du fortsætter.
Generer kode - Vælg knappen Generer kode og vælg derefter dit foretrukne programmeringssprog (Python eller JavaScript/Node.JS):
Du kan derefter kopiere den genererede kode og gemme den som en fil i en lokal mappe. Afhængigt af det valgte sprog følger du disse hurtige trin for at teste lokalt:
Python
Opret en fil med navnet
editor.pyog indsæt den genererede kode fra eksempelforespørgslen ovenfor.Opret et virtuelt miljø ved at køre kommandoen
python -m venv .venv.Aktiver ved
venvat køre.venv\Scripts\activateellersource .venv/bin/activate.Installer den nødvendige afhængighed ved at køre
pip install azure-identity.Udfør koden med
python editor.py.Du bliver bedt om at logge ind via et browservindue for at autentificere anmodningen.
Svaret fra API'en udskrives i konsollen.
{ "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
Opret en fil med navnet
editor.jsog indsæt den genererede kode fra eksempelforespørgslen ovenfor.I samme mappe som
editor.js, opret enpackage.jsonfil med følgende indhold:{ "type": "module", "dependencies": {} }Installer Node.js på din udviklingsmaskine (inkluderer npm)
Kør
npm install @azure/identityeller en lignende kommando i din valgte pakkehåndtering for at installere den nyeste version af identitetsbiblioteket.Kør
node editor.jsfor at køre koden.Du bliver bedt om at logge ind via et browservindue for at autentificere anmodningen.
Svaret fra API'en udskrives i konsollen.
{ "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" } ] } } }
Udvikling af forespørgsler og mutationer
Følgende eksempler demonstrerer GraphQL-forespørgsels- og mutationssyntaks ved brug af AdventureWorks-eksempeldata. Disse eksempler antager, at du arbejder med et Fabric Data Warehouse, der understøtter skriveoperationer (mutationer). Datakilder, der tilgås via SQL Analytics Endpoints (som Lakehouses og spejlede databaser), er skrivebeskyttede og understøtter kun forespørgsler, ikke mutationer.
Gennemgå dette korte GraphQL-skema-uddrag fra AdventureWorks. Den definerer en Product type med forespørgsler til at læse et enkelt produkt eller liste alle produkter, og mutationer til at oprette, opdatere eller slette produkter, og understøtter alle CRUDL-brugstilfælde (create, read, update, delete, list).
{
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
}
}
Læs de data, der eksponeres via GraphQL, ved hjælp af en forespørgsel, der er defineret i skemaet. Forespørgslen products_by_pk henter et enkelt produkt ved dets primære nøgle:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Svar:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Brug mutationer som createProduct at skrive data og skabe et nyt produkt med de nødvendige parametre.
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
}
}
Svar:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Forespørgselsvariabler
Brug ruden Forespørgselsvariabler i højre side af fanen Forespørgsel til at overføre parametre som variabler til dine forespørgsler eller mutationer. Variabler fungerer som variabler i andre programmeringssprog. Hver variabel er deklareret med et navn, der bruges til at få adgang til den værdi, der er gemt i den. Ved at bruge det tidligere mutationseksempel modificerer du det en smule for at bruge forespørgselsvariabler.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Definér variabler i Forespørgselsvariable-panelet ved hjælp af følgende eksempel.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
Variabler gør mutationskoden renere, lettere at læse, teste og ændre. De gør det også nemt at genbruge den samme mutation med forskellige værdier ved blot at ændre variablerne.