En este artículo se proporciona un desglose de la estructura de definición de los elementos de GraphQLApi.
Elementos de definición
En esta tabla se enumeran los elementos de definición de GraphQLApi.
| Ruta de acceso del elemento de definición |
tipo |
Obligatorio |
Descripción |
.platform |
PlatformDetails (JSON) |
falso |
Describe los detalles comunes del elemento. |
graphql-definition.json |
GraphQLDefinition (JSON) |
cierto |
Describe la configuración general y del origen de datos de la API para GraphQL. |
GraphQLDefinition
| Nombre |
Tipo |
Descripción |
| $schema |
Cuerda |
Dirección URL para la especificación del esquema |
| orígenes de datos |
Origen[] |
Lista de orígenes de datos asociados a API para GraphQL |
Fuente
| Nombre |
Tipo |
Descripción |
| sourceItemId |
GUID |
Identificador del elemento de origen |
| sourceWorkspaceId |
GUID |
Identificador del área de trabajo que contiene el elemento de origen |
| connectionId |
GUID |
Identificador de la conexión usada para el elemento de origen |
| tipo de fuente |
TipoDeFuente |
Tipo de elemento de origen |
| Objetos |
SourceObject[] |
Lista de objetos del elemento de origen que se exponen mediante GraphQL API |
SourceType (enumeración)
| Nombre |
Descripción |
| SqlAnalyticsEndpoint |
Punto de conexión de SQL Analytics |
| Almacén |
Almacén |
| SqlDbNative |
Base de datos SQL |
| AzureSql |
Azure SQL Database |
SourceObject
| Nombre |
Tipo |
Descripción |
| graphqlType |
Cuerda |
Nombre de tipo graphQL que se va a usar para el objeto en el elemento de origen |
| sourceObject |
Cuerda |
Nombre de objeto en el elemento de origen expuesto por GraphQL API |
| sourceObjectType |
SourceObjectType |
Tipo de objeto en el elemento de origen |
| Acciones |
<ActionType, ActionValue> |
Diccionario de tipo de acción al valor de acción que indica consultas y mutaciones con su estado de habilitación |
| fieldMappings |
<String, String> |
Diccionario de campos del objeto de origen a campos GraphQL |
| Relaciones |
Relación[] |
Lista de relaciones configuradas desde el objeto de origen |
| IsStoredProcedureQueryNode |
Booleano |
Tipo de operación GraphQL para exponer el procedimiento almacenado. True - Query, False - Mutación. |
SourceObjectType (enumeración)
| Nombre |
Descripción |
| Tabla |
Tabla de base de datos |
| Vista |
Vista de base de datos |
| StoredProcedure |
Procedimiento almacenado de base de datos |
ActionType (enumeración)
| Nombre |
Descripción |
| Consulta |
Consulta en el objeto de origen |
| Query_by_pk |
Consulta por clave principal en el objeto de origen |
| Crear |
Creación de una mutación en el objeto de origen |
| Actualizar |
Actualización de la mutación en el objeto de origen |
| Borrar |
Eliminación de la mutación en el objeto de origen |
| Ejecutar |
Ejecutar consulta o mutación en el procedimiento almacenado |
ActionValue (enumeración)
| Nombre |
Descripción |
| Activado |
Habilitación de la consulta o mutación |
| Deshabilitado |
Deshabilitar la consulta o la mutación |
Relación
| Nombre |
Tipo |
Descripción |
| campo |
Cuerda |
Nombre del campo GraphQL que se va a usar para la relación en el tipo GraphQL |
| cardinalidad |
RelationshipCardinality |
Cardinalidad de la relación |
| targetObject |
Cuerda |
Objeto de destino para la relación |
| sourceFields |
String[] |
Lista de campos del objeto de origen usado para la relación |
| targetFields |
String[] |
Lista de campos del objeto de destino usado para la relación |
| linkingObject |
Cuerda |
Vincular objeto para relaciones de varios a varios entre objetos de origen y de destino |
| linkingSourceFields |
String[] |
Lista de campos del objeto de vinculación para la relación del objeto de origen |
| linkingTargetFields |
String[] |
Lista de campos del objeto de vinculación para la relación con el objeto de destino |
RelationshipCardinality (enumeración)
| Nombre |
Descripción |
| ManyToOne |
Relación de varios a uno |
| OneToMany |
Relación uno a varios |
| OneToOne |
Relación uno a uno |
| ManyToMany |
Relación de varios a varios |
Ejemplo de 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"
}
]
}