GraphQL 用 Fabric API では、1 つの API 項目を使用して多くのデータ ソースを公開できます。 この機能を使用すると、複数のデータ ソース間でデータを取得する 1 つのクエリを発行できます。
マルチデータ ソース クエリは、さまざまなデータ ソースに対して操作を実行する一連のクエリです。
この機能により、アプリケーションと GraphQL 用 API の間のラウンド トリップの数を減らすことで、アプリケーションのパフォーマンスが向上します。
Note
マルチデータ ソース要求は、データ ソースへの個々の要求を展開します。 複数のデータ ソースにまたがる型間でリレーションシップを作成することはできません。 さらに、個々の要求が実行される順序に対する保証はありません。
クエリの例
次の例は、 ContosoSales データ ソースと ContosoInventory データ ソースの両方にまたがるクエリを示しています。
query {
customers (first: 1) {
items {
FirstName
LastName
}
}
inventories (first: 1) {
items {
Name
}
}
}
この要求は、ContosoSales データ ソースから派生した顧客クエリから最初のノードを取得し、ContosoInventory データ ソースから派生したインベントリ クエリから最初のノードを取得します。
要求に対する出力は次のとおりです。
{
"data": {
"customers": {
"items": [
{
"FirstName": "Orlando",
"LastName": "Gee"
}
]
},
"inventories": {
"items": [
{
"Name": "AWC Logo Cap"
}
]
}
}
}
出力には 2 つの部分があります。最初のセクション "data" には 顧客 クエリの出力が含まれており、2 番目のセクション "インベントリ" には インベントリ クエリの出力が含まれます。
この要求を実行すると、クエリ ビューがどのように表示されるかを次に示します。