Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Fabric API for GraphQL gir et grafisk graphql-utviklingsmiljø i nettleseren, som gjør det mulig for en interaktiv lekeplass å komponere, teste og se de levende resultatene av GraphQL-spørringer og mutasjoner.
Hvem bruker GraphQL-editoren
GraphQL-editoren er essensiell for:
- Applikasjonsutviklere prototyper og tester spørringer mot Fabric-data før de implementerer dem i applikasjoner
- Dataingeniører som utforsker lakehouse- og warehouse-datastrukturer og validerer GraphQL-skjemadesign
- Bidragsytere til Fabric workspace tester datatilgang og feilsøker spørringsproblemer
- BI-utviklere lærer API-strukturen og lager dataaksessmønstre for tilpassede applikasjoner
- Utviklingsteam som samarbeider om spørringsutvikling og feilsøking av datatilgang i Fabric-arbeidsområder
Bruk editoren når du trenger å utvikle, teste eller feilsøke GraphQL-spørringer interaktivt mot dine Fabric-datakilder.
Kom i gang med GraphQL-editoren
Følg disse stegene for å begynne å bruke GraphQL-editoren:
Åpne GraphQL API-elementet – Naviger til arbeidsområdet ditt i Fabric og åpne API-et for GraphQL-elementet.
Få tilgang til editoren – Velg Forespørsel nederst til venstre på portalskjermen din.
Skriv spørringen din – Skriv inn GraphQL-spørringene direkte på fanen Spørring . Bruk Intellisense med hurtigtaster:
- Windows: CTRL + Mellomrom
- macOS: Kommando + Mellomrom
Kjør spørringen – Velg Kjør for å kjøre spørringen og hente data fra datakilden din.
Generer kode
API-editoren genererer automatisk boilerplate Python- eller Node.js-kode som reflekterer GraphQL-spørringen eller mutasjonen du tester i editoren. Når du prototyper og finjusterer spørringene dine, oppdateres den genererte koden deretter. Når du er fornøyd med resultatene, kan du se og kopiere den genererte koden for å kjøre den lokalt for testing, eller gjenbruke den i applikasjonsutviklingsprosessen din.
Viktig
Den genererte koden bruker interaktiv nettleserlegitimasjon og bør bare brukes til testformål. I produksjon må du alltid registrere et program i Microsoft Entra og bruke de aktuelle client_id og omfangene. Du finner et eksempel fra ende til ende med eksempelkode på Koble programmer.
Slik kommer du i gang:
Skriv en spørring – Skriv inn følgende eksempelsspørring (eller din egen) i spørringseditoren:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Kjør spørringen – Velg Kjør for å kjøre spørringen og verifiser at den fungerer riktig i editoren før du fortsetter.
Generer kode – Velg Generer kode-knappen og velg deretter ditt foretrukne programmeringsspråk (Python eller JavaScript/Node.JS):
Deretter kan du kopiere den genererte koden og lagre den som en fil i en lokal mappe. Avhengig av valgt språk, følg disse raske stegene for å teste lokalt:
Python
Lag en fil med navn
editor.pyog lim inn den genererte koden fra eksempelforespørselen ovenfor.Opprett et virtuelt miljø ved å kjøre kommandoen
python -m venv .venv.Aktiver ved
venvå kjøre.venv\Scripts\activateellersource .venv/bin/activate.Installer den nødvendige avhengigheten ved å kjøre
pip install azure-identity.Kjør koden med
python editor.py.Du blir bedt om å logge inn via et nettleservindu for å autentisere forespørselen.
Svaret fra API-et skrives ut 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
Lag en fil med navn
editor.jsog lim inn den genererte koden fra eksempelforespørselen ovenfor.I samme mappe som
editor.js, opprett enpackage.jsonfil med følgende innhold:{ "type": "module", "dependencies": {} }Installer Node.js på utviklingsmaskinen din (inkluderer npm)
Kjør
npm install @azure/identityeller en lignende kommando i den valgte pakkebehandleren for å installere den nyeste versjonen av identitetsbiblioteket.Kjør
node editor.jsfor å kjøre koden.Du blir bedt om å logge inn via et nettleservindu for å autentisere forespørselen.
Svaret fra API-et skrives ut 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" } ] } } }
Utvikling av spørringer og mutasjoner
Følgende eksempler demonstrerer GraphQL-spørrings- og mutasjonssyntaks ved bruk av AdventureWorks-eksempeldata. Disse eksemplene antar at du jobber med et Fabric Data Warehouse som støtter skriveoperasjoner (mutasjoner). Datakilder som får tilgang via SQL Analytics Endpoints (som Lakehouses og speilede databaser) er skrivebeskyttet og støtter kun spørringer, ikke mutasjoner.
Se gjennom dette korte GraphQL-skjemautdraget fra AdventureWorks. Den definerer en Product type med spørringer for å lese et enkelt produkt eller liste alle produkter, og mutasjoner for å opprette, oppdatere eller slette produkter, og støtter alle CRUDL-brukstilfeller (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
}
}
Les dataene som eksponeres via GraphQL ved å bruke en hvilken som helst spørring som er definert i skjemaet. Spørringen products_by_pk henter et enkelt produkt ved primærnøkkelen:
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
}
}
}
Bruk mutasjoner som createProduct å skrive data og lage et nytt produkt med de nødvendige parameterne.
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
}
}
}
Spørringsvariabler
Bruk Spørringsvariabler-ruten på høyre side av Spørring-fanen til å sende parametere som variabler til spørringene eller mutasjonene. Variabler fungerer som variabler i andre programmeringsspråk. Hver variabel deklareres med et navn som brukes for å få tilgang til verdien som er lagret i den. Ved å bruke det forrige mutasjonseksempelet modifiserer du det litt for å bruke spørringsvariabler.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Definer variabler i Spørringsvariabler-panelet ved å bruke følgende eksempel.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
Variabler gjør mutasjonskoden renere, enklere å lese, teste og endre. De gjør det også enkelt å gjenbruke samme mutasjon med forskjellige verdier ved bare å endre variablene.