Delen via


Naslaginformatie over configuratieschema's voor Data API Builder

Voor de opbouwfunctie voor gegevens-API's moet ten minste één configuratiebestand worden uitgevoerd. Dit JSON-bestand definieert uw API-installatie, van omgevingsinstellingen tot entiteitsdefinities. Het begint met een $schema eigenschap, waarmee schemavalidatie voor de rest van het bestand mogelijk is.

Top-level properties

Property Description
$schema URI van het JSON-schema voor deze configuratie.
data-source Object met databaseconnectiviteitsinstellingen.
data-source-files Matrix van andere configuratiebestandspaden.
runtime Object dat runtimegedrag configureert.
entities Object waarmee alle entiteiten worden gedefinieerd die beschikbaar zijn via REST of GraphQL.

Data-source properties

Property Description
data-source Object met databaseconnectiviteitsinstellingen.
data-source.database-type Databasetype dat wordt gebruikt in de back-end (mssql, postgresql, mysql, cosmosdb_nosql, cosmosdb_postgresql).
data-source.connection-string Verbindingsreeks voor het geselecteerde databasetype.
data-source.options Databasespecifieke opties en geavanceerde instellingen.
data-source.health Statuscontroleconfiguratie voor de gegevensbron.
data-source-files Matrix van andere configuratiebestandspaden.

Runtime properties

Property Description
runtime Object dat runtimegedrag configureert.
runtime.pagination Instellingen voor paginering voor API-antwoorden.
runtime.rest Globale CONFIGURATIE van REST API.
runtime.graphql Globale configuratie van GraphQL API.
runtime.cache Globale configuratie voor het opslaan van antwoorden in cache.
runtime.telemetry Configuratie van telemetrie, logboekregistratie en bewaking.
runtime.health Configuratie van globale statuscontrole.

Entities properties

Property Description
entities Object waarmee alle entiteiten worden gedefinieerd die beschikbaar zijn via REST of GraphQL.
entities.entity-name.source Details van de databasebron voor de entiteit.
entities.entity-name.rest REST API-configuratie voor de entiteit.
entities.entity-name.graphql GraphQL API-configuratie voor de entiteit.
entities.entity-name.permissions Machtigingen en toegangsbeheer voor de entiteit.
entities.entity-name.relationships Relaties met andere entiteiten.
entities.entity-name.cache Cacheconfiguratie op entiteitsniveau.
entities.entity-name.health Statuscontroleconfiguratie op entiteitsniveau.

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

Versioning

Schemabestanden zijn beschikbaar op specifieke URL's, zodat u de juiste versie of het meest recente beschikbare schema kunt gebruiken.

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

Vervang VERSION-suffix door de gewenste versie.

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

Gegevensbronbestanden

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

Data API Builder ondersteunt meerdere configuratiebestanden, met één die is aangewezen als de instellingen voor het beheren van runtime bestanden op het hoogste niveau. Alle configuraties delen hetzelfde JSON-schema, waardoor instellingen in elk of elk bestand zonder fouten worden toegestaan runtime . Entiteiten splitsen voor een betere organisatie.

Diagram van meerdere configuratiebestanden waarnaar wordt verwezen als een matrix binnen één configuratiebestand.

Format

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

Meerdere configuratieregels

  • Elk configuratiebestand moet de eigenschap data-source bevatten.
  • Elk configuratiebestand moet de eigenschap entities bevatten.
  • De configuratie op het hoogste niveau moet bevatten runtime.
  • Onderliggende configuraties kunnen omvatten runtime, maar deze worden genegeerd.
  • Onderliggende configuratiebestanden kunnen hun eigen onderliggende bestanden bevatten.
  • Configuratiebestanden kunnen worden ingedeeld in submappen.
  • Entiteitsnamen moeten uniek zijn voor alle configuratiebestanden.
  • Relaties tussen entiteiten in verschillende configuratiebestanden worden niet ondersteund.

Examples

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