Partager via


Informations de référence sur le schéma de configuration du générateur d’API de données

Le générateur d’API de données nécessite au moins un fichier de configuration à exécuter. Ce fichier JSON définit votre configuration d’API, des paramètres d’environnement aux définitions d’entité. Elle commence par une $schema propriété, qui active la validation du schéma pour le reste du fichier.

Top-level properties

Property Description
$schema URI du schéma JSON pour cette configuration.
data-source Objet contenant les paramètres de connectivité de base de données.
data-source-files Tableau d’autres chemins de fichier de configuration.
runtime Objet configurant les comportements d’exécution.
entities Objet définissant toutes les entités exposées via REST ou GraphQL.

Data-source properties

Property Description
data-source Objet contenant les paramètres de connectivité de base de données.
data-source.database-type Type de base de données utilisé dans le back-end (mssql, postgresql, mysql, cosmosdb_nosql, cosmosdb_postgresql).
data-source.connection-string Chaîne de connexion pour le type de base de données sélectionné.
data-source.options Options spécifiques à la base de données et paramètres avancés.
data-source.health Configuration du contrôle d’intégrité de la source de données.
data-source-files Tableau d’autres chemins de fichier de configuration.

Runtime properties

Property Description
runtime Objet configurant les comportements d’exécution.
runtime.pagination Paramètres de pagination pour les réponses d’API.
runtime.rest Configuration globale de l’API REST.
runtime.graphql Configuration globale de l’API GraphQL.
runtime.cache Configuration de la mise en cache des réponses globales.
runtime.telemetry Télémétrie, journalisation et configuration de surveillance.
runtime.health Configuration globale du contrôle d’intégrité.

Entities properties

Property Description
entities Objet définissant toutes les entités exposées via REST ou GraphQL.
entities.entity-name.source Détails de la source de base de données pour l’entité.
entities.entity-name.rest Configuration de l’API REST pour l’entité.
entities.entity-name.graphql Configuration de l’API GraphQL pour l’entité.
entities.entity-name.permissions Autorisations et contrôle d’accès pour l’entité.
entities.entity-name.relationships Relations avec d’autres entités.
entities.entity-name.cache Configuration de la mise en cache au niveau de l’entité.
entities.entity-name.health Configuration du contrôle d’intégrité au niveau de l’entité.

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

Le schéma le plus récent est toujours disponible à l’adresse https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json.

Versioning

Les fichiers de schéma sont disponibles sur des URL spécifiques, ce qui vous permet d’utiliser la version correcte ou le schéma disponible le plus récent.

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

Remplacez VERSION-suffix par la version souhaitée.

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

Fichiers sources de données

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

Le générateur d’API de données prend en charge plusieurs fichiers de configuration, avec un fichier désigné comme paramètres de gestion runtime de fichiers de niveau supérieur. Toutes les configurations partagent le même schéma JSON, ce qui autorise runtime les paramètres dans un ou chaque fichier sans erreur. Fractionner des entités pour une meilleure organisation.

Diagramme de plusieurs fichiers de configuration référencés sous la forme d’un tableau au sein d’un fichier de configuration unique.

Format

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

Plusieurs règles de configuration

  • Chaque fichier de configuration doit inclure la propriété data-source.
  • Chaque fichier de configuration doit inclure la propriété entities.
  • La configuration de niveau supérieur doit inclure runtime.
  • Les configurations enfants peuvent inclure runtime, mais elles sont ignorées.
  • Les fichiers de configuration enfants peuvent inclure leurs propres fichiers enfants.
  • Les fichiers de configuration peuvent être organisés en sous-dossiers.
  • Les noms d’entités doivent être uniques dans tous les fichiers de configuration.
  • Les relations entre les entités dans différents fichiers de configuration ne sont pas prises en charge.

Examples

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