API för GraphQL-definition

Den här artikeln innehåller en uppdelning av definitionsstrukturen för GraphQLApi-objekt.

Definitionsdelar

I den här tabellen visas definitionsdelarna för GraphQLApi.

Definitionsdelssökväg typ Krävs Beskrivning
.platform PlatformDetails (JSON) falskt Beskriver vanlig information om objektet
graphql-definition.json GraphQLDefinition (JSON) sann Beskriver den allmänna konfigurationen och datakällan för API:et för GraphQL

GraphQLDefinition

Namn Typ Beskrivning
$schema Sträng URL för schemaspecifikation
datakällor Källa[] Lista över datakällor som är associerade med API för GraphQL

Källa

Namn Typ Beskrivning
sourceItemId Guide ID för källobjektet
sourceWorkspaceId Guide ID för arbetsytan som innehåller källobjektet
connectionId Guide ID för den anslutning som används för källobjektet
källtyp Källtyp Typ av källobjekt
Objekt SourceObject[] Lista över objekt i källobjektet som exponeras med GraphQL-API:et

SourceType (uppräkning)

Namn Beskrivning
SqlAnalyticsEndpoint SQL Analytics-slutpunkt
Lager Lager
SqlDbNative SQL-databas
AzureSql Azure SQL Database

SourceObject

Namn Typ Beskrivning
graphqlType Sträng GraphQL-typnamn som ska användas för objekt i källobjekt
sourceObject Sträng Objektnamn i källobjektet som exponeras av GraphQL-API:et
källobjektstyp SourceObjectType Objekttyp i källobjektet
Åtgärder <ActionType, ActionValue> Ordlista av åtgärdstyp till åtgärdsvärde som anger frågor och mutationer med deras aktiveringsstatus
fieldMappings (fältmappningar) <Sträng, Sträng> Ordlista med fält i källobjekt till GraphQL-fält
Relationer Relation[] Lista över relationer som konfigurerats från källobjektet
IsStoredProcedureQueryNode Boolesk GraphQL-åtgärdstyp för att exponera lagrad procedur. Sant - Fråga, Falskt - Mutation.

SourceObjectType (uppräkning)

Namn Beskrivning
Tabell Databastabell
Utsikt Databasvy
lagrad procedur Databas lagrad procedur

ActionType (uppräkning)

Namn Beskrivning
Sökfråga Fråga om källobjekt
Query_by_pk Fråga efter primärnyckel för källobjekt
Skapa Skapa mutation på källobjekt
Uppdatera Uppdatera mutationen på källobjektet
Ta bort Ta bort mutation på källobjekt
Utföra Köra fråga eller mutation vid lagrad procedur

ActionValue (uppräkning)

Namn Beskrivning
Aktiverad Aktivera fråga eller mutation
Handikappad Inaktivera fråga eller mutation

Förhållande

Namn Typ Beskrivning
fält Sträng GraphQL-fältnamn som ska användas för relationen i GraphQL-typ
kardinalitet RelationshipCardinality Kardinalitet för relationen
targetObject Sträng Målobjekt för relationen
källfält Sträng[] Lista över fält i källobjektet som används för relationen
targetFields Sträng[] Lista över fält i målobjektet som används för relationen
linkingObject Sträng Länka objekt för många-till-många-relationer mellan käll- och målobjekt
linkingSourceFields Sträng[] Lista över fält i länkobjektet för relationen från källobjektet
linkingTargetFields Sträng[] Lista över fält i länkobjektet för relationen till målobjektet

RelationshipCardinality (uppräkning)

Namn Beskrivning
ManyToOne Många-till-en-relation
OneToMany En-till-många-relation
OneToOne En-till-en-relation
ManyToMany Många-till-många-relation

GraphQLDefinition-exempel

{
  "$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"
    }
  ]
}