Megosztás a következőn keresztül:


GraphQL API-definíció

Ez a cikk a GraphQLApi-elemek definícióstruktúrájának részletezését ismerteti.

Definíciórészek

Ez a táblázat a GraphQLApi definíciós részeit sorolja fel.

Definíciórész elérési útja típus Kötelező Leírás
.platform PlatformDetails (JSON) hamis Az elem gyakori részleteinek ismertetése
graphql-definition.json GraphQLDefinition (JSON) igaz A GraphQL API általános és adatforrás-konfigurációját ismerteti

GraphQLDefinition

Név típus Leírás
$schema Lánc A séma specifikációjának URL-címe
adatforrások Forrás[] A GraphQL API-hoz társított adatforrások listája

Forrás

Név típus Leírás
sourceItemId Guid A forráselem azonosítója
sourceWorkspaceId Guid A forráselemet tartalmazó munkaterület azonosítója
connectionId Guid A forráselemhez használt kapcsolat azonosítója
forrástípus Forrástípus Forráselem típusa
Tárgyak SourceObject[] A Forráselemben a GraphQL API használatával közzétett objektumok listája

SourceType (enum)

Név Leírás
SqlAnalyticsEndpoint SQL Analytics-végpont
Raktár Raktár
SqlDbNative SQL-adatbázis
AzureSql Azure SQL Database

SourceObject

Név típus Leírás
graphqlType Lánc A forráselem objektumához használandó GraphQL-típusnév
sourceObject Lánc A GraphQL API által közzétett forráselem objektumneve
forrásobjektumtípus SourceObjectType Objektumtípus a forráselemben
Műveletek <ActionType, ActionValue> Művelettípus szótára műveletértékhez, amely a lekérdezéseket és a mutációkat jelzi az engedélyezés állapotával
fieldMappings <Sztring, sztring> A forrásobjektum mezőinek szótára GraphQL-mezőkhöz
Kapcsolatok Kapcsolat[] A forrásobjektumból konfigurált kapcsolatok listája
IsStoredProcedureQueryNode Booleán GraphQL-művelettípus a tárolt eljárás felfedése érdekében. Igaz - Lekérdezés, Hamis - Mutáció.

SourceObjectType (enum)

Név Leírás
Táblázat Adatbázistábla
Megtekintés Adatbázis nézet
tárolt eljárás Adatbázis által tárolt eljárás

ActionType (enum)

Név Leírás
Lekérdezés Lekérdezés a forrásobjektumon
Query_by_pk Lekérdezés elsődleges kulcs alapján a forrásobjektumon
Hozz létre Mutáció létrehozása forrásobjektumon
Frissítés A forrásobjektum mutációinak frissítése
Törlés Mutáció törlése a forrásobjektumon
Kivégez Lekérdezés vagy mutáció végrehajtása tárolt eljáráson

ActionValue (enumerálás)

Név Leírás
Bekapcsolva Lekérdezés vagy mutáció engedélyezése
Fogyatékos Lekérdezés vagy mutáció letiltása

Kapcsolat

Név típus Leírás
mező Lánc GraphQL-típusú kapcsolathoz használandó GraphQL-mezőnév
Számossága RelationshipCardinality A kapcsolat számossága
targetObject Lánc A kapcsolat célobjektuma
sourceFields Sztring[] A kapcsolathoz használt forrásobjektum mezőinek listája
targetFields Sztring[] A kapcsolathoz használt célobjektum mezőinek listája
linkingObject Lánc Objektum csatolása több-a-többhöz kapcsolatokhoz forrás- és célobjektumok között
linkingSourceFields Sztring[] A forrásobjektumból származó kapcsolat kapcsolatát összekötő objektum mezőinek listája
aTargetFields csatolása Sztring[] A célobjektumhoz való kapcsolathoz tartozó csatolási objektum mezőinek listája

RelationshipCardinality (enum)

Név Leírás
ManyToOne Több az egyhez kapcsolat
OneToMany Egy-a-többhöz kapcsolat
OneToOne Egy-az-egyhez kapcsolat
ManyToMany Több-a-többhöz kapcsolat

GraphQLDefinition példa

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