Zdieľať cez


Rozhranie API pre definíciu GraphQL

Tento článok obsahuje rozpis štruktúry definícií pre položky GraphQLApi.

Časti definícií

Táto tabuľka obsahuje zoznam častí definície GraphQLApi.

Cesta k časti definície zadať Požaduje sa Popis
.platform PlatformDetails (JSON) False (nepravd Popisuje bežné podrobnosti o položke
graphql-definition.json GraphQLDefinition (JSON) pravdivý Popisuje všeobecnú konfiguráciu a konfiguráciu zdroja údajov rozhrania API pre GraphQL

GraphQLDefinition

Meno Typ Popis
$schema Povrázok URL adresa pre špecifikáciu schémy
datasources (zdroje údajov) Zdroj[] Zoznam zdrojov údajov priradených k API pre GraphQL

Zdroj

Meno Typ Popis
sourceItemId GUID ID zdrojovej položky
sourceWorkspaceId GUID ID pracovného priestoru obsahujúceho zdrojovú položku
connectionId GUID ID pripojenia použitého pre zdrojovú položku
sourceType (typ zdroja) SourceType (Typ Zdroja) Typ zdrojovej položky
Objekty SourceObject[] Zoznam objektov v zdrojovej položke, ktoré sú vystavené pomocou rozhrania GraphQL API

SourceType (enum)

Meno Popis
SqlAnalyticsEndpoint Koncový bod služby SQL Analytics
Sklad Sklad
SqlDbNative SQL Database
AzureSql Databáza Azure SQL

SourceObject

Meno Typ Popis
graphqlType Povrázok Názov typu GraphQL na použitie pre objekt v zdrojovej položke
sourceObject Povrázok Názov objektu v zdrojovej položke, ktorá je zobrazená rozhraním API GraphQL
sourceObjectType SourceObjectType Typ objektu v zdrojovej položke
Akcie <ActionType, ActionValue> Slovník akcie typu na hodnotu akcie, ktorá označuje dotazy a mutácie s ich stav povolenia
fieldMappings (poleMappings) <Reťazec, Reťazec> Slovník polí v zdrojovom objekte k poliam GraphQL
Vzťahy Vzťah[] Zoznam vzťahov nakonfigurovaných zo zdrojového objektu
IsStoredProcedureQueryNode Boolean Typ operácie GraphQL na odhalenie uloženej procedúry. Pravda - dotaz, false - mutácie.

SourceObjectType (enum)

Meno Popis
Stôl Tabuľka databázy
Zobraziť Zobrazenie databázy
StoredProcedure (UloženéProcedure) Uložená procedúra databázy

ActionType (enum)

Meno Popis
Otázka Dotaz na zdrojový objekt
Query_by_pk Dotazovanie podľa primárneho kľúča v zdrojovom objekte
Vytvoriť Vytvorenie mutácie na zdrojovom objekte
Aktualizovať Aktualizácia mutácie na zdrojovom objekte
Odstrániť Odstrániť mutáciu na zdrojovom objekte
Spustiť Vykonanie dotazu alebo mutácie v uloženej procedúre

ActionValue (enum)

Meno Popis
Zapnuté Povoliť dotaz alebo mutáciu
Zakázané Zakázanie dotazu alebo mutácie

Vzťah

Meno Typ Popis
pole Povrázok Názov poľa GraphQL, ktoré sa má použiť pre vzťah v type GraphQL
mohutnosť Prehľad vzťahov Kardinalita vzťahu
targetObject Povrázok Cieľový objekt pre vzťah
sourcePolia Reťazec[] Zoznam polí v zdrojovom objekte použitom vo vzťahu
targetFields Reťazec[] Zoznam polí v cieľovom objekte použitom vo vzťahu
linkingObject Povrázok Prepojenie objektu pre vzťahy typu many-to-many medzi zdrojom a cieľovými objektmi
linkingSourceFields Reťazec[] Zoznam polí v prepojujúnom objekte pre vzťah zo zdrojového objektu
linkingTargetFields Reťazec[] Zoznam polí v prepojenom objekte pre vzťah k cieľovému objektu

RelationshipCardinality (enum)

Meno Popis
ManyToOne Vzťah viacerých s jednou
OneToMany Vzťah typu One-to-Many
OneToOne Vzťah typu One-to-One
ManyToMany Vzťah typu many-to-many

Príklad GraphQLDefinition

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/graphqlApi/definition/1.0.0/schema.json",
  "datasources": [
    {
      "objects": [
        {
          "actions": {
            "Query": "Enabled"
          },
          "fieldMappings": {
            "LastName": "LastName",
            "Name": "Name"
          },
          "graphqlType": "Customers",
          "relationships": [],
          "sourceObject": "model.Customers",
          "sourceObjectType": "View"
        }
      ],
      "sourceItemId": "c54cd4ce-cbaa-4fc5-bcc8-121f2a3e0c4c",
      "sourceType": "Warehouse",
      "sourceWorkspaceId": "c2231263-b81e-4dd2-a69b-41eca8c93584"
    },
    {
      "connectionId": "daa5dc10-6eae-4b19-af5f-da8db84c51c1",
      "objects": [
        {
          "actions": {
            "Query": "Enabled"
          },
          "fieldMappings": {
            "id": "id",
            "publisher_id": "publisher_id",
            "title": "title"
          },
          "graphqlType": "publishers",
          "relationships": [],
          "sourceObject": "dbo.publishers_view",
          "sourceObjectType": "View"
        },
        {
          "actions": {
            "Query": "Enabled",
            "Query_by_pk": "Enabled",
            "Create": "Enabled",
            "Update": "Enabled",
            "Delete": "Disabled"
          },
          "fieldMappings": {
            "id": "id",
            "title": "title"
          },
          "graphqlType": "books",
          "relationships": [],
          "sourceObject": "dbo.books",
          "sourceObjectType": "Table"
        }
      ],
      "sourceItemId": "daa5dc10-6eae-4b19-af5f-da8db84c51c1",
      "sourceType": "AzureSql",
      "sourceWorkspaceId": "00000000-0000-0000-0000-000000000000"
    }
  ]
}