Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Fabric-ohjelmointirajapinta GraphQL:lle tarjoaa graafisen selaimessa olevan GraphQL-kehitysympäristön, jossa vuorovaikutteinen leikkikenttä voi luoda, testata ja nähdä GraphQL-kyselyiden ja mutaatioiden reaaliaikaiset tulokset.
Kuka käyttää GraphQL-editoria
GraphQL-editori on välttämätön:
- Sovelluskehittäjät prototypoivat ja testaavat kyselyitä Fabric-dataa vastaan ennen niiden käyttöönottoa sovelluksissa
- Data-insinöörit tutkivat lakehouse- ja varastotietorakenteita sekä validoivat GraphQL-skeemasuunnitelmia
- Fabric-työtilan avustajat, jotka testaavat datan käyttöoikeuksia ja vianetsintää kyselyissä
- BI-kehittäjät oppivat API-rakenteen ja luovat datan käyttömalleja mukautetuille sovelluksille
- Kehitystiimit tekevät yhteistyötä kyselykehityksen ja tietojen pääsyongelmien ratkaisemisessa Fabric-työtiloissa
Käytä editoria aina, kun sinun täytyy interaktiivisesti kehittää, testata tai debugata GraphQL-kyselyitä Fabric-tietolähteissäsi.
Aloita GraphQL-editorin käyttö
Seuraa näitä ohjeita aloittaaksesi GraphQL-editorin käytön:
Avaa GraphQL API -elementti – Siirry työtilaasi Fabricissa ja avaa API GraphQL-kohteelle.
Pääse editoriin – Valitse Kysely portaalin vasemmasta alakulmasta.
Kirjoita kyselysi – Kirjoita GraphQL-kyselysi suoraan Kysely-välilehdelle. Käytä Intellisenseä pikanäppäimillä:
- Windows: CTRL + Space
- macOS: Komento + Väli
Suorita kysely – Valitse Käynnistä suorittaaksesi kyselyn ja hakeaksesi tiedot tietolähteestäsi.
Luo koodi
API-editori generoi automaattisesti Pythonin tai Node.js-koodin, joka heijastaa GraphQL-kyselyä tai mutaatiota, jota parhaillaan testaat editorissa. Kun prototyypit ja tarkennat kyselyitäsi, luotu koodi päivittyy sen mukaisesti. Kun olet tyytyväinen tuloksiin, voit tarkastella ja kopioida luodun koodin paikallisesti testaukseen tai käyttää sitä uudelleen sovelluskehitysprosessissasi.
Tärkeä
Luotu koodi käyttää vuorovaikutteisen selaimen tunnistetietoja, ja sitä tulee käyttää vain testaustarkoituksiin. Tuotantoympäristössä rekisteröi aina sovellus Microsoft Entrassa ja käytä sen vaikutusalueita client_id . Esimerkki mallikoodista on osoitteessa Sovellusten yhdistäminen.
Näin pääset alkuun:
Kirjoita kysely – Syötä seuraava esimerkkikysely (tai omasi) kyselyeditoriin:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Suorita kysely – Valitse Käynnistä suorittaaksesi kyselyn ja varmista, että se toimii oikein editorissa ennen kuin jatkat.
Luo koodi – Valitse Generoi-koodipainike ja valitse sitten haluamasi ohjelmointikieli (Python tai JavaScript/Node.JS):
Voit sitten kopioida luodun koodin ja tallentaa sen tiedostona paikalliseen kansioon. Valitusta kielestä riippuen seuraa näitä nopeita vaiheita testataksesi paikallisesti:
Python
Luo tiedosto nimeltä
editor.pyja liitä yllä olevasta esimerkkikyselystä generoitu koodi.Luo virtuaaliympäristö suorittamalla komento
python -m venv .venv.Aktivoi juoksemalla
venv.venv\Scripts\activatetaisource .venv/bin/activate.Asenna tarvittava riippuvuus suorittamalla
pip install azure-identity.Suorita koodi komennolla
python editor.py.Sinua pyydetään kirjautumaan sisään selaimen ikkunan kautta todentaaksesi pyynnön.
API:n vastaus tulostetaan konsoliin.
{ "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
Luo tiedosto nimeltä
editor.jsja liitä yllä olevasta esimerkkikyselystä generoitu koodi.Samassa kansiossa luo
editor.jspackage.jsontiedosto seuraavalla sisällöllä:{ "type": "module", "dependencies": {} }AsennaNode.js kehityskoneellesi (mukaan lukien NPM)
Suorita
npm install @azure/identitytai vastaava komento valitsemassasi paketinhallinnassa asentaaksesi tunnistetietokirjaston uusimman version.Suorita
node editor.jskoodi.Sinua pyydetään kirjautumaan sisään selaimen ikkunan kautta todentaaksesi pyynnön.
API:n vastaus tulostetaan konsoliin.
{ "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" } ] } } }
Kyselyjen ja mutaatioiden kehitys
Seuraavat esimerkit havainnollistavat GraphQL:n kysely- ja mutaatiosyntaksia AdventureWorksin esimerkkidatan avulla. Nämä esimerkit olettavat, että työskentelet Fabric Data Warehousen kanssa, joka tukee kirjoitusoperaatioita (mutaatioita). SQL Analytics -päätelaitteiden kautta (kuten Lakehouset ja peilatut tietokannat) käytettävät tietolähteet ovat vain lukua ja tukevat vain kyselyitä, eivät mutaatioita.
Katso tämä lyhyt GraphQL-skeema-ote AdventureWorksilta. Se määrittelee Product tyypin, jossa on kyselyt yksittäisen tuotteen lukemiseen tai kaikkien tuotteiden listaamiseen, sekä mutaatioita tuotteiden luomiseen, päivittämiseen tai poistamiseen, tukeen kaikkia CRUDL-käyttötapauksia (luo, lue, päivitä, poista, lista).
{
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
}
}
Lue GraphQL:n kautta paljastetut tiedot millä tahansa rakenteessa määritetyllä kyselyllä. Kysely products_by_pk hakee yksittäisen tulon sen pääavaimella:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Vastaus:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Käytä mutaatioita, kuten createProduct datan kirjoittamiseen ja uuden tuotteen luomiseen tarvittavilla parametreilla.
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
}
}
Vastaus:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Kyselyn muuttujat
Kysely-välilehden oikealla puolella olevan Kyselymuuttujat-ruudun avulla voit välittää parametreja muuttujina kyselyihin tai mutaatioihin. Muuttujat toimivat kuten muuttujat muissa ohjelmointikielissä. Jokainen muuttuja ilmoitetaan nimellä, jota käytetään siihen tallennetun arvon käyttämiseen. Edellisessä mutaatioesimerkissä muokkaat sitä hieman käyttämään kyselymuuttujia.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Määrittele muuttujat Kyselymuuttujat -paneelissa seuraavan esimerkin avulla.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
Muuttujat tekevät mutaatiokoodista puhtaamman, helpommin luettavan, testattavan ja muokattavan. Ne myös helpottavat saman mutaation uudelleenkäyttöä eri arvoilla muuttamalla muuttujia.