Поделиться через


Запрос нескольких источников данных в API Fabric для GraphQL

В API Fabric для GraphQL можно предоставлять множество источников данных с помощью одного элемента API. Эта функция позволяет выдавать один запрос, который извлекает данные в нескольких источниках данных.

Запрос с несколькими источниками данных — это последовательность запросов, выполняющих операции с различными источниками данных.

Эта функция повышает производительность приложений, уменьшая количество циклов между приложением и API для GraphQL.

Примечание.

Несколько источников данных запрашивают отдельные запросы к источникам данных. Нельзя создавать связи между типами, охватывающими несколько источников данных. Кроме того, нет гарантии на порядок выполнения отдельных запросов.

Пример запроса

В следующем примере показан запрос, охватывающий источники данных 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"
        }
      ]
    }
  }
}

Выходные данные содержат две части: первый раздел , "данные", содержит выходные данные запроса клиентов , а второй раздел , "инвентаризации", содержит выходные данные запроса инвентаризации .

Вот как выглядит представление запроса при выполнении этого запроса:

Снимок экрана редактора с запросом, охватывающим два источника данных.