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 lager i Fabric som støtter skriveoperasjoner (mutasjoner). Datakilder som nås 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.