Condividi tramite


API per la definizione di GraphQL

Questo articolo fornisce una suddivisione della struttura di definizione per gli elementi GraphQLApi.

Parti di definizione

Questa tabella elenca le parti di definizione GraphQLApi.

Percorso della parte di definizione tipo Obbligatorio Descrizione
.platform PlatformDetails (JSON) falso Descrive i dettagli comuni dell'elemento
graphql-definition.json GraphQLDefinition (JSON) vero Descrive la configurazione generale e dell'origine dati dell'API per GraphQL

GraphQLDefinition

Nome TIPO Descrizione
$schema Stringa URL per la specifica dello schema
origini dati Origine[] Elenco di origini dati associate all'API per GraphQL

Fonte

Nome TIPO Descrizione
sourceItemId Guid ID dell'elemento di origine
sourceWorkspaceId Guid ID dell'area di lavoro contenente l'elemento di origine
connectionId Guid ID della connessione utilizzata per l'elemento di origine
tipo di sorgente Tipo di Fonte Tipo di elemento di origine
oggetti SourceObject[] Elenco di oggetti nell'elemento di origine esposti tramite l'API GraphQL

SourceType (enum)

Nome Descrizione
SqlAnalyticsEndpoint Endpoint di Analisi SQL
Magazzino Magazzino
SqlDbNative SQL Base di dati
AzureSql Database SQL di Microsoft Azure

SourceObject

Nome TIPO Descrizione
graphqlType Stringa Nome del tipo GraphQL da usare per l'oggetto nell'elemento di origine
sourceObject Stringa Nome dell'oggetto nell'elemento di origine esposto dall'API GraphQL
sourceObjectType SourceObjectType Tipo di oggetto nell'elemento di origine
Azioni <ActionType, ActionValue> Dizionario del tipo di azione al valore di azione che indica query e mutazioni con il relativo stato di abilitazione
fieldMappings <String, String> Dizionario dei campi nell'oggetto di origine nei campi GraphQL
relazioni Relazione[] Elenco di relazioni configurate dall'oggetto di origine
IsStoredProcedureQueryNode Booleano Tipo di operazione GraphQL per l'esposizione di stored procedure. True - Query, False - Mutazione.

SourceObjectType (enum)

Nome Descrizione
Tabella Tabella di database
Visualizza Vista database
Procedura memorizzata Stored procedure del database

ActionType (enum)

Nome Descrizione
Quesito Query sull'oggetto di origine
Query_by_pk Query per chiave primaria nell'oggetto di origine
Creazione Creare una mutazione nell'oggetto di origine
Aggiornamento Aggiornare la mutazione nell'oggetto di origine
Cancella Eliminare la mutazione nell'oggetto di origine
Eseguire Eseguire query o mutazioni nella stored procedure

ActionValue (enum)

Nome Descrizione
Attivato Abilitare query o mutazioni
Disabilitato Disabilitare query o mutazioni

Relazione

Nome TIPO Descrizione
campo Stringa Nome del campo GraphQL da usare per la relazione nel tipo GraphQL
cardinalità RelationshipCardinality Cardinalità per la relazione
targetObject Stringa Oggetto di destinazione per la relazione
sourceFields String[] Elenco di campi nell'oggetto di origine utilizzato per la relazione
targetFields String[] Elenco di campi nell'oggetto di destinazione utilizzato per la relazione
linkingObject Stringa Collegamento dell'oggetto per relazioni molti-a-molti tra oggetti di origine e di destinazione
linkingSourceFields String[] Elenco di campi nell'oggetto di collegamento per la relazione dall'oggetto di origine
linkingTargetFields String[] Elenco di campi nell'oggetto di collegamento per la relazione con l'oggetto di destinazione

RelationshipCardinality (enum)

Nome Descrizione
ManyToOne Relazione molti-a-uno
OneToMany Relazione uno-a-molti
OneToOne Relazione uno-a-uno
ManyToMany Relazione molti-a-molti

Esempio di 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"
    }
  ]
}