Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Rozhranie API služby Fabric pre GraphQL poskytuje grafické vývojové prostredie GraphQL v prehliadači, ktoré umožňuje interaktívnemu ihrisku vytvárať, testovať a zobrazovať živé výsledky vašich dotazov a mutácií GraphQL.
Kto používa editor GraphQL
Editor GraphQL je nevyhnutný pre:
- Vývojári aplikácií prototypujú a testujú dotazy na Fabric dátach pred ich implementáciou v aplikáciách
- Dátoví inžinieri skúmajúci dátové štruktúry lakehouse a skladov a validujúci návrhy schém GraphQL
- Prispievatelia do pracovného priestoru fabric testujú oprávnenia na prístup k dátam a riešia problémy s dotazmi
- BI vývojári sa učia štruktúru API a vytvárajú vzory prístupu k dátam pre vlastné aplikácie
- Vývojové tímy spolupracujúce na vývoji dotazov a riešení problémov s prístupom k dátam v rámci Fabric pracovných priestorov
Používajte editor vždy, keď potrebujete interaktívne vyvíjať, testovať alebo ladiť GraphQL dotazy na vašich Fabric dátových zdrojoch.
Začnite s editorom GraphQL
Postupujte podľa týchto krokov na začatie používania editora GraphQL:
Otvorte položku GraphQL API – prejdite do svojho pracovného priestoru v Fabric a otvorte API pre položku GraphQL.
Otvorte editor – Vyberte Query v ľavom dolnom rohu obrazovky portálu.
Napíšte svoj dotaz – Zadajte svoje GraphQL dotazy priamo na záložke Dotaz. Používajte Intellisense s klávesovými skratkami:
- Windows: CTRL + Space
- macOS: Command + Space
Spustiť dotaz – Vyberte Spustiť na vykonanie dotazu a získanie dát zo zdroja dát.
Generovať kód
API editor automaticky generuje boilerplate Python alebo Node.js kód, ktorý odráža GraphQL dotaz alebo mutáciu, ktorú práve testujete v editore. Ako prototypujete a zdokonaľujete svoje dotazy, generovaný kód sa podľa toho aktualizuje. Keď ste s výsledkami spokojní, môžete si vygenerovaný kód pozrieť a skopírovať na lokálne testovanie alebo ho znovu použiť vo vývoji aplikácie.
Dôležité
Vygenerovaný kód používa interaktívne poverenia prehliadača a mal by sa používať iba na testovacie účely. V produkčnom prostredí vždy zaregistrujte aplikáciu v aplikácii Microsoft Entra a použite príslušné client_id a rozsahy. Komplexný príklad so vzorovým kódom nájdete v časti Pripojenie aplikácií.
Ako začať:
Napíšte dopyt – Zadajte nasledujúci vzorový dopyt (alebo svoj vlastný) do editora dotazov:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Spustiť dotaz – Vyberte Spustiť dotaz a overte, či v editore funguje správne, predtým než pokračujete.
Generujte kód – Vyberte tlačidlo Generate code a potom vyberte preferovaný programovací jazyk (Python alebo JavaScript/Node.JS):
Potom môžete vygenerovaný kód skopírovať a uložiť ako súbor v lokálnom priečinku. V závislosti od zvoleného jazyka postupujte podľa týchto rýchlych krokov na lokálne testovanie:
Python
Vytvorte súbor s názvom
editor.pya vložte vygenerovaný kód z príkladu dotazu vyššie.Vytvorte virtuálne prostredie spustením príkazu
python -m venv .venv.Aktivujte spustením
venv.venv\Scripts\activatealebosource .venv/bin/activate.Nainštalujte požadovanú závislosť spustením
pip install azure-identity.Spustite kód pomocou
python editor.py.Ste vyzvaní na prihlásenie cez okno prehliadača, aby ste požiadali o autentifikáciu.
Odpoveď z API je vytlačená v konzole.
{ "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
Vytvorte súbor s názvom
editor.jsa vložte vygenerovaný kód z príkladu dotazu vyššie.V tom istom priečinku ako
editor.js, vytvortepackage.jsonsúbor s nasledujúcim obsahom:{ "type": "module", "dependencies": {} }Nainštalujte Node.js na svoj vývojový počítač (vrátane npm)
Spustite
npm install @azure/identityalebo podobný príkaz vo zvolenom správcovi balíkov a nainštalujte najnovšiu verziu knižnice identít.Bež a spusti
node editor.jskód.Ste vyzvaní na prihlásenie cez okno prehliadača, aby ste požiadali o autentifikáciu.
Odpoveď z API je vytlačená v konzole.
{ "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" } ] } } }
Vývoj dotazov a mutácií
Nasledujúce príklady demonštrujú syntax dotazov a mutácií GraphQL pomocou ukážkových dát AdventureWorks. Tieto príklady predpokladajú, že pracujete s Fabric Data Warehouse, ktorý podporuje zápisové operácie (mutácie). Dátové zdroje prístupné cez SQL Analytics Endpointy (ako Lakehouses a zrkadlené databázy) sú len na čítanie a podporujú iba dotazy, nie mutácie.
Prečítajte si tento krátky úryvok schémy GraphQL z AdventureWorks. Definuje Product typ s dotazmi na čítanie jedného produktu alebo zoznam všetkých produktov a mutáciami na vytváranie, aktualizáciu alebo mazanie produktov, pričom podporuje všetky prípady použitia CRUDL (vytváranie, čítanie, aktualizácia, mazanie, zoznam).
{
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
}
}
Prečítajte si údaje vystavené prostredníctvom GraphQL pomocou ľubovoľného dotazu definovaného v schéme. Dopyt products_by_pk získa jeden produkt pomocou jeho primárneho kľúča:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Odpoveď:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Použite mutácie na createProduct zápis dát a vytvorenie nového produktu s požadovanými parametrami.
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
}
}
Odpoveď:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Premenné dotazu
Tablu Premenné dotazu na pravej strane karty Dotaz použite na odovzdanie parametrov ako premenných do dotazov alebo mutácií. Premenné fungujú ako premenné v iných programovacích jazykoch. Každá premenná je deklarovaná s názvom používaným na prístup k hodnote v nej uloženej. Podľa predchádzajúceho príkladu mutácie ju mierne upravíte, aby ste použili query premenné.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Definujte premenné v paneli Query variables pomocou nasledujúceho príkladu.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
Premenné robia mutačný kód čistejším, ľahšie čitateľným, testujúcim a upraviteľným. Tiež uľahčujú opätovné použitie tej istej mutácie s rôznymi hodnotami len zmenou premenných.