Jaa


Fabric-ohjelmointirajapinta GraphQL-editorille

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:

  1. Avaa GraphQL API -elementti – Siirry työtilaasi Fabricissa ja avaa API GraphQL-kohteelle.

  2. Pääse editoriin – Valitse Kysely portaalin vasemmasta alakulmasta.

    Näyttökuva, jossa näkyy Kysely-vaihtoehto Kangas-näytön vasemmassa alakulmassa.

  3. Kirjoita kyselysi – Kirjoita GraphQL-kyselysi suoraan Kysely-välilehdelle. Käytä Intellisenseä pikanäppäimillä:

    • Windows: CTRL + Space
    • macOS: Komento + Väli

    Näyttökuva ohjelmointirajapinnan muokkausnäytöstä, jossa näkyy Kysely-välilehti, joka on jaettu Suorita-, Kyselymuuttujat- ja Tulokset-ruutuihin.

  4. 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:

  1. Kirjoita kysely – Syötä seuraava esimerkkikysely (tai omasi) kyselyeditoriin:

    query {
      addresses(first: 5) {
         items {
            AddressID
            City
            StateProvince
            CountryRegion
         }  
      }
    }
    
  2. Suorita kysely – Valitse Käynnistä suorittaaksesi kyselyn ja varmista, että se toimii oikein editorissa ennen kuin jatkat.

  3. Luo koodi – Valitse Generoi-koodipainike ja valitse sitten haluamasi ohjelmointikieli (Python tai JavaScript/Node.JS):

    Kuvakaappaus API-editorin näytöstä, jossa näkyy pudotusvalikko, jolla valitaan ohjelmointikieli luodulle koodille.

  4. Voit sitten kopioida luodun koodin ja tallentaa sen tiedostona paikalliseen kansioon. Valitusta kielestä riippuen seuraa näitä nopeita vaiheita testataksesi paikallisesti:

Python

  1. Luo tiedosto nimeltä editor.py ja liitä yllä olevasta esimerkkikyselystä generoitu koodi.

  2. Luo virtuaaliympäristö suorittamalla komento python -m venv .venv.

  3. Aktivoi juoksemalla venv.venv\Scripts\activate tai source .venv/bin/activate.

  4. Asenna tarvittava riippuvuus suorittamalla pip install azure-identity.

  5. Suorita koodi komennolla python editor.py.

  6. Sinua pyydetään kirjautumaan sisään selaimen ikkunan kautta todentaaksesi pyynnön.

  7. 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

  1. Luo tiedosto nimeltä editor.js ja liitä yllä olevasta esimerkkikyselystä generoitu koodi.

  2. Samassa kansiossa luo editor.jspackage.json tiedosto seuraavalla sisällöllä:

    {
      "type": "module",
      "dependencies": {}
    }
    
  3. AsennaNode.js kehityskoneellesi (mukaan lukien NPM)

  4. Suorita npm install @azure/identity tai vastaava komento valitsemassasi paketinhallinnassa asentaaksesi tunnistetietokirjaston uusimman version.

  5. Suorita node editor.js koodi.

  6. Sinua pyydetään kirjautumaan sisään selaimen ikkunan kautta todentaaksesi pyynnön.

  7. 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.