Compartir a través de


Referencia del esquema de configuración de Data API Builder

Data API Builder requiere al menos un archivo de configuración para ejecutarse. Este archivo basado en JSON define la configuración de la API, desde la configuración del entorno a las definiciones de entidad. Comienza con una $schema propiedad , que habilita la validación del esquema para el resto del archivo.

Top-level properties

Property Description
$schema URI del esquema JSON para esta configuración.
data-source Objeto que contiene la configuración de conectividad de la base de datos.
data-source-files Matriz de otras rutas de acceso del archivo de configuración.
runtime Objetos que configuran comportamientos en tiempo de ejecución.
entities Objeto que define todas las entidades expuestas a través de REST o GraphQL.

Data-source properties

Property Description
data-source Objeto que contiene la configuración de conectividad de la base de datos.
data-source.database-type Tipo de base de datos usado en el back-end (mssql, postgresql, mysql, cosmosdb_nosql, cosmosdb_postgresql).
data-source.connection-string Cadena de conexión para el tipo de base de datos seleccionado.
data-source.options Opciones específicas de la base de datos y opciones avanzadas.
data-source.health Configuración de comprobación de estado del origen de datos.
data-source-files Matriz de otras rutas de acceso del archivo de configuración.

Runtime properties

Property Description
runtime Objetos que configuran comportamientos en tiempo de ejecución.
runtime.pagination Configuración de paginación para las respuestas de API.
runtime.rest Configuración global de la API REST.
runtime.graphql Configuración global de GraphQL API.
runtime.cache Configuración del almacenamiento en caché de respuesta global.
runtime.telemetry Configuración de telemetría, registro y supervisión.
runtime.health Configuración de comprobación de estado global.

Entities properties

Property Description
entities Objeto que define todas las entidades expuestas a través de REST o GraphQL.
entities.entity-name.source Detalles del origen de la base de datos de la entidad.
entities.entity-name.rest Configuración de la API REST para la entidad.
entities.entity-name.graphql Configuración de GraphQL API para la entidad.
entities.entity-name.permissions Permisos y control de acceso para la entidad.
entities.entity-name.relationships Relaciones con otras entidades.
entities.entity-name.cache Configuración de almacenamiento en caché de nivel de entidad.
entities.entity-name.health Configuración de comprobación de estado de nivel de entidad.

Schema

Parent Property Type Required Default
$root $schema string ✔️ Yes None

Each configuration file begins with a $schema property, specifying the JSON schema for validation.

Format

{
  "$schema": <string>
}

Example

{
  "$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json"
}

Tip

El esquema más reciente siempre está disponible en https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json.

Versioning

Los archivos de esquema están disponibles en direcciones URL específicas, lo que garantiza que puede usar la versión correcta o el esquema disponible más reciente.

https://github.com/Azure/data-api-builder/releases/download/<VERSION>-<suffix>/dab.draft.schema.json

Reemplace VERSION-suffix por la versión que desee.

https://github.com/Azure/data-api-builder/releases/download/v0.3.7-alpha/dab.draft.schema.json

Archivos de origen de datos

Parent Property Type Required Default
$root data-source-files string array ❌ No None

Data API Builder admite varios archivos de configuración, con uno designado como configuración de administración runtime de archivos de nivel superior. Todas las configuraciones comparten el mismo esquema JSON, lo que permite runtime la configuración en cualquier archivo o cada archivo sin errores. Dividir entidades para mejorar la organización.

Diagrama de varios archivos de configuración a los que se hace referencia como una matriz dentro de un único archivo de configuración.

Format

{
  "data-source-files": [ "<string>" ]
}

Varias reglas de configuración

  • Cada archivo de configuración debe incluir la propiedad data-source.
  • Cada archivo de configuración debe incluir la propiedad entities.
  • La configuración de nivel superior debe incluir runtime.
  • Las configuraciones secundarias pueden incluir runtime, pero se omite.
  • Los archivos de configuración secundarios pueden incluir sus propios archivos secundarios.
  • Los archivos de configuración se pueden organizar en subcarpetas.
  • Los nombres de entidad deben ser únicos en todos los archivos de configuración.
  • No se admiten las relaciones entre entidades en archivos de configuración diferentes.

Examples

{
  "data-source-files": [
    "dab-config-2.json",
    "my-folder/dab-config-3.json",
    "my-folder/my-other-folder/dab-config-4.json"
  ]
}