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