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