Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní Fabric API pro GraphQL poskytuje grafické vývojové prostředí GraphQL přímo v prohlížeči, které umožňuje interaktivní prostředí pro skládání, testování a zobrazení živých výsledků vašich GraphQL dotazů a mutací.
Kdo používá editor GraphQL
Editor GraphQL je nezbytný pro:
- Vývojáři aplikací před implementací v aplikacích prototypují a testují dotazy na data Fabric.
- Datoví inženýři kteří prozkoumávají architekturu datového jezera (lakehouse) a skladiště dat a ověřují návrhy schémat GraphQL
- Přispěvatelé do pracovních prostorů Fabric testují oprávnění k přístupu k datům a řeší problémy s dotazy.
- Vývojáři BI se učí strukturu rozhraní API a vytvářejí vzory přístupu k datům pro vlastní aplikace.
- Vývojové týmy spolupracují na vývoji dotazů a řešení potíží s přístupem k datům v pracovních prostorech Fabric
Editor použijte vždy, když potřebujete interaktivně vyvíjet, testovat nebo ladit dotazy GraphQL na zdroje dat Fabric.
Začínáme s editorem GraphQL
Pokud chcete začít používat editor GraphQL, postupujte takto:
Otevřete položku rozhraní GraphQL API – Přejděte do svého pracovního prostoru ve Fabricu a otevřete položku GraphQL API.
Přístup k editoru – Výběr dotazu v levém dolním rohu obrazovky portálu
Napište svůj dotaz – zadejte dotazy GraphQL přímo na kartě Dotaz . Použijte IntelliSense s klávesovými zkratkami:
- Windows: CTRL + mezerník
- macOS: Command + Mezerník
Spusťte dotaz – výběrem příkazu Spustit spusťte dotaz a načtěte data z vašeho zdroje dat.
Generování kódu
Editor rozhraní API automaticky vygeneruje často používaný kód Pythonu nebo Node.js, který odráží dotaz GraphQL nebo mutaci, které aktuálně testujete v editoru. Při vytváření prototypu a upřesnění dotazů se vygenerovaný kód odpovídajícím způsobem aktualizuje. Jakmile budete s výsledky spokojeni, můžete zobrazit a zkopírovat vygenerovaný kód a spustit ho místně pro účely testování nebo ho znovu použít v procesu vývoje aplikace.
Důležité
Vygenerovaný kód používá interaktivní přihlašovací údaje prohlížeče a měl by se používat jenom pro účely testování. V produkčním prostředí vždy zaregistrujte aplikaci v Microsoft Entra a použijte odpovídající client_id a rozsahy. Kompletní příklad s ukázkovým kódem najdete na webu Connect Applications.
Jak začít:
Napište dotaz – v editoru dotazů zadejte následující ukázkový dotaz (nebo vlastní):
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Spusťte dotaz – Výběrem možnosti Spustit spusťte dotaz a před pokračováním ověřte, že funguje správně v editoru.
Vygenerovat kód – Vyberte tlačítko Generovat kód a pak vyberte upřednostňovaný programovací jazyk (Python nebo JavaScript/Node.JS):
Pak můžete vygenerovaný kód zkopírovat a uložit ho jako soubor v místní složce. V závislosti na zvoleném jazyce proveďte místní testování podle těchto rychlých kroků:
Python
Vytvořte soubor s názvem
editor.pya vložte vygenerovaný kód z výše uvedeného ukázkového dotazu.Spuštěním příkazu
python -m venv .venvvytvořte virtuální prostředí .venvAktivace spuštěním.venv\Scripts\activatenebosource .venv/bin/activate.Nainstalujte požadovanou závislost spuštěním
pip install azure-identitypříkazu .Spusťte kód pomocí
python editor.pypříkazu .Zobrazí se výzva k přihlášení prostřednictvím okna prohlížeče k ověření žádosti.
Odpověď z rozhraní API se vytiskne 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
Vytvořte soubor s názvem
editor.jsa vložte vygenerovaný kód z výše uvedeného ukázkového dotazu.Ve stejné složce jako
editor.jsvytvořtepackage.jsonsoubor s následujícím obsahem:{ "type": "module", "dependencies": {} }Instalace Node.js na vývojovém počítači (včetně npm)
Spuštěním
npm install @azure/identitynebo podobným příkazem ve zvoleném správci balíčků nainstalujte nejnovější verzi knihovny identit.Spusťte
node editor.js, aby se kód vykonal.Zobrazí se výzva k přihlášení prostřednictvím okna prohlížeče k ověření žádosti.
Odpověď z rozhraní API se vytiskne 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 dotazů a mutací
Následující příklady ukazují syntaxi dotazů a mutací GraphQL s použitím ukázkových dat AdventureWorks. V těchto příkladech se předpokládá, že pracujete s Fabric Data Warehouse, který podporuje operace zápisu (mutací). Zdroje dat přístupné prostřednictvím koncových bodů SQL Analytics (jako jsou Lakehouses a zrcadlené databáze) jsou jen pro čtení a podporují pouze dotazy, ne mutované.
Podívejte se na tento krátký výňatek schématu GraphQL z AdventureWorks. Definuje Product typ s dotazy pro čtení jednoho produktu nebo seznam všech produktů a mutacemi pro vytvoření, aktualizaci nebo odstranění produktů, což podporuje všechny případy použití CRUDL (vytvoření, čtení, aktualizace, seznam, odstranění).
{
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
}
}
Čtení dat vystavených prostřednictvím GraphQL pomocí libovolného dotazu definovaného ve schématu Dotaz products_by_pk načte jeden produkt podle primárního klíče:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Odpověď:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Pomocí mutací createProduct můžete zapsat data a vytvořit nový produkt s požadovanými parametry.
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
}
}
Odpověď:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Proměnné dotazu
Pomocí podokna Proměnné dotazu na pravé straně karty Dotaz můžete předávat parametry jako proměnné dotazům nebo mutacím. Proměnné fungují jako proměnné v jiných programovacích jazycích. Každá proměnná je deklarována názvem použitým pro přístup k hodnotě uložené v ní. Pomocí předchozího příkladu s mutací ji upravíte mírně tak, aby používala proměnné dotazu.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Pomocí následujícího příkladu definujte proměnné v podokně Proměnných dotazu .
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
Proměnné usnadňují čitelnost, testování a úpravu kódu s proměnlivým kódem. Také usnadňují opakované použití stejné mutace s různými hodnotami pouhým změnou proměnných.