Dela via


Fråga flera datakällor i Fabric API för GraphQL

I Fabric API för GraphQL kan du exponera många datakällor via ett enda API-objekt. Med den här funktionen kan du utfärda en enda fråga som hämtar data över flera datakällor.

En fråga med flera datakällor är en sekvens med frågor som använder utföra åtgärder mot olika datakällor.

Den här funktionen kan förbättra prestandan för dina program genom att minska antalet rundturer mellan ditt program och API:et för GraphQL.

Kommentar

En begäran om flera datakällor skickar ut enskilda begäranden till datakällor. Du kan inte skapa relationer mellan olika typer som sträcker sig över flera datakällor. Dessutom finns det inga garantier för vilken ordning de enskilda begärandena ska köras.

Frågeexempel

I följande exempel visas en fråga som sträcker sig över både ContosoSales och ContosoInventory-datakällorna :

query {
  customers (first: 1) {
    items {
      FirstName
      LastName
    }
  }
  inventories (first: 1) {
    items {
      Name
    }
  }
}

Den här begäran hämtar den första noden från kundfrågan , som härleds från Datakällan ContosoSales och den första noden från inventeringsfrågan, som härleds från datakällan ContosoInventory .

Utdata för begäran är:

{
  "data": {
    "customers": {
      "items": [
        {
          "FirstName": "Orlando",
          "LastName": "Gee"
        }
      ]
    },
    "inventories": {
      "items": [
        {
          "Name": "AWC Logo Cap"
        }
      ]
    }
  }
}

Det finns två delar i utdata: I det första avsnittet innehåller "data" utdata från kundens fråga. Det andra avsnittet, "inventorys", innehåller utdata från inventeringsfrågan .

Så här ser frågevyn ut när du kör den här begäran:

Skärmbild av redigeringsskärmen som visar ett exempel på en fråga som sträcker sig över två datakällor.