GraphQL 用 Fabric API で複数のデータ ソースに対してクエリを実行する

Note

GraphQL 用 Microsoft Fabric API はプレビュー段階です。

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 つの部分があります。最初のセクション [データ] には、[顧客] クエリの出力が含まれています。 2 番目のセクション [インベントリ] には、[インベントリ] クエリの出力が含まれています。

この要求を実行すると、クエリ ビューがどのように表示されるかを次に示します。

2 つのデータ ソースにまたがるクエリの例を示すエディター画面のスクリーンショット。