Sdílet prostřednictvím


Definice rozhraní API pro GraphQL

Tento článek obsahuje rozpis struktury definic pro položky GraphQLApi.

Části definice

Tato tabulka uvádí části definice GraphQLApi.

Cesta k části definice typ Povinné Popis
.platform PlatformDetails (JSON) Nepravda Popisuje běžné podrobnosti o položce.
graphql-definition.json GraphQLDefinition (JSON) pravda Popisuje obecnou konfiguraci a konfiguraci zdroje dat rozhraní API pro GraphQL.

GraphQLDefinition

Název Typ Popis
$schema Řetězec Adresa URL pro specifikaci schématu
zdroje dat Zdroj[] Seznam zdrojů dat přidružených k rozhraní API pro GraphQL

Zdroj

Název Typ Popis
sourceItemId Průvodce ID zdrojové položky
sourceWorkspaceId Průvodce ID pracovního prostoru obsahujícího zdrojová položka
connectionId Průvodce ID připojení použitého pro zdrojová položka
Typ zdroje Typ zdroje Typ zdrojové položky
objekty SourceObject[] Seznam objektů ve zdrojové položce, které jsou vystavené pomocí rozhraní GraphQL API

SourceType (výčet)

Název Popis
SqlAnalyticsEndpoint Koncový bod SQL Analytics
Sklad Sklad
SqlDbNative databáze SQL
AzureSql Azure SQL Database

SourceObject

Název Typ Popis
graphqlType Řetězec Název typu GraphQL, který se má použít pro objekt ve zdrojové položce
sourceObject Řetězec Název objektu ve zdrojové položce, která je vystavená rozhraním GraphQL API
typ zdrojového objektu SourceObjectType Typ objektu ve zdrojové položce
Akce <ActionType, ActionValue> Slovník typu akce na hodnotu akce, která označuje dotazy a mutace se stavem jejich povolení
mapování polí <Řetězec, řetězec> Slovník polí ve zdrojovém objektu do polí GraphQL
relace Vztah[] Seznam relací nakonfigurovaných ze zdrojového objektu
IsStoredProcedureQueryNode Boolovská logika Typ operace GraphQL pro zveřejnění uložené procedury Pravda – dotaz, nepravda – otěhotněný.

SourceObjectType (výčet)

Název Popis
Tabulka Tabulka databáze
Zobrazit Zobrazení databáze
uložená procedura Uložená procedura databáze

ActionType (výčet)

Název Popis
Dotaz Dotaz na zdrojový objekt
Query_by_pk Dotazování podle primárního klíče u zdrojového objektu
Vytvářet Vytvoření mutaci u zdrojového objektu
Aktualizace Aktualizace mutaci zdrojového objektu
Vymazat Odstranění mutaci u zdrojového objektu
Provést Provedení dotazu nebo mutaci uložené procedury

ActionValue (výčet)

Název Popis
Povoleno Povolení dotazu nebo mutací
Invalidní Zakázání dotazu nebo mutaci

Vztah

Název Typ Popis
pole Řetězec Název pole GraphQL, který se má použít pro relaci v typu GraphQL
mohutnost RelationshipCardinality Kardinalita relace
targetObject Řetězec Cílový objekt pro relaci
sourceFields Řetězec[] Seznam polí ve zdrojovém objektu použitém pro relaci
targetFields Řetězec[] Seznam polí v cílovém objektu použitém pro relaci
linkingObject Řetězec Propojení objektu pro relace M:N mezi zdrojovými a cílovými objekty
linkingSourceFields Řetězec[] Seznam polí v objektu propojení pro relaci ze zdrojového objektu
linkingTargetFields Řetězec[] Seznam polí v objektu propojení pro relaci s cílovým objektem

RelationshipCardinality (výčet)

Název Popis
ManyToOne Relace M:1
OneToMany Relace 1:N
OneToOne Relace 1:1
NToMany Relace M:N

Příklad definice 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"
    }
  ]
}