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.
Jednou z klíčových výhod rozhraní FABRIC API pro GraphQL je schopnost zveřejnit více zdrojů dat, jako jsou lakehouses, sklady a databáze, prostřednictvím jednoho sjednoceného koncového bodu rozhraní API. To znamená, že vaše aplikace můžou načítat data z různých zdrojů v jednom dotazu GraphQL, takže se nemusíte připojovat k více rozhraním API nebo databázím samostatně.
Můžete mít například zákaznická data v jednom skladu a inventarizační data v jiném jezeře. Místo dvou samostatných volání rozhraní API můžete dotazovat oba zdroje současně prostřednictvím rozhraní GraphQL API, což snižuje režii sítě a zjednodušuje kód aplikace.
Jak fungují dotazy s více zdroji
Když vydáte dotaz GraphQL, který zahrnuje více zdrojů dat, rozhraní API automaticky paralelně rozdá jednotlivé požadavky na každý zdroj dat a pak zkombinuje výsledky do jedné odpovědi. Tento přístup:
- Zkracuje dobu odezvy: Vaše aplikace vytváří jeden požadavek místo více sekvenčních volání.
- Zlepšuje výkon: Paralelní spouštění znamená rychlejší celkovou dobu odezvy.
- Zjednodušuje klientský kód: Pracujete s jedním rozhraním rozhraní API bez ohledu na to, kde jsou uložená data.
Důležité
Dotazy s více zdroji mají následující omezení:
- Nemůžete vytvářet relace mezi typy, které zahrnují různé zdroje dat. Relace fungují jenom v rámci jednoho zdroje dat.
- Jednotlivé požadavky na každý zdroj dat se provádějí paralelně bez zaručeného pořadí.
- Každý požadavek na zdroj dat je nezávislý – neexistuje žádná transakce zahrnující více zdrojů.
Příklad dotazu
Obchodní scénář: Představte si, že vytváříte řídicí panel, který zobrazuje informace o zákazníci a stav inventáře produktů vedle sebe. Vaše zákaznická data se nacházejí v prodejním skladu (ContosoSales), zatímco inventář produktů se spravuje v samostatném lakehouse (ContosoInventory), který aktualizuje vaše systémy dodavatelského řetězce. Bez podpory s více zdroji byste museli provádět dvě samostatná volání rozhraní API, spravovat dvě různá připojení a kombinovat data sami v kódu aplikace.
S rozhraním API Fabric pro GraphQL můžete načíst data z obou zdrojů v jednom dotazu:
query {
customers (first: 1) {
items {
FirstName
LastName
}
}
inventories (first: 1) {
items {
Name
}
}
}
Tento jediný požadavek načte záznamy zákazníků ze zdroje dat ContosoSales a položky inventáře ze zdroje dat ContosoInventory paralelně a zkombinuje je do jedné odpovědi. Řídicí panel získá všechna data, která potřebuje, s jedním voláním rozhraní API místo dvou.
Výstupem požadavku je:
{
"data": {
"customers": {
"items": [
{
"FirstName": "Orlando",
"LastName": "Gee"
}
]
},
"inventories": {
"items": [
{
"Name": "AWC Logo Cap"
}
]
}
}
}
Struktura odpovědi zrcadlí strukturu dotazu. Uvnitř objektu data máte dvě pole nejvyšší úrovně (customers a inventories) odpovídající dvěma dotazům, které jste vytvořili. Každé pole obsahuje pole items se skutečnými výsledky. Položky customers mají podobné vlastnosti FirstName a LastNamezatímco inventories položky mají vlastnosti jako Name– přesně tak, jak jsou požadovány v dotazu.
Takto vypadá zobrazení dotazu při spuštění tohoto požadavku: