Sdílet prostřednictvím


Referenční informace ke schématu konfigurace tvůrce rozhraní Data API

Tvůrce rozhraní DATA API vyžaduje ke spuštění aspoň jeden konfigurační soubor. Tento soubor založený na FORMÁTU JSON definuje nastavení rozhraní API, od nastavení prostředí po definice entit. $schema Začíná vlastností, která umožňuje ověření schématu pro zbytek souboru.

Top-level properties

Property Description
$schema Identifikátor URI schématu JSON pro tuto konfiguraci
data-source Objekt obsahující nastavení připojení k databázi
data-source-files Pole dalších cest ke konfiguračním souborům
runtime Objekt konfiguruje chování modulu runtime.
entities Objekt definující všechny entity vystavené přes REST nebo GraphQL

Data-source properties

Property Description
data-source Objekt obsahující nastavení připojení k databázi
data-source.database-type Typ databáze používaný v back-endu (mssql, postgresql, mysql, cosmosdb_nosql, cosmosdb_postgresql).
data-source.connection-string Připojovací řetězec pro vybraný typ databáze.
data-source.options Možnosti specifické pro databázi a upřesňující nastavení
data-source.health Konfigurace kontroly stavu pro zdroj dat
data-source-files Pole dalších cest ke konfiguračním souborům

Runtime properties

Property Description
runtime Objekt konfiguruje chování modulu runtime.
runtime.pagination Nastavení stránkování pro odpovědi rozhraní API
runtime.rest Globální konfigurace rozhraní REST API
runtime.graphql Globální konfigurace rozhraní GraphQL API
runtime.cache Globální konfigurace ukládání odpovědí do mezipaměti
runtime.telemetry Konfigurace telemetrie, protokolování a monitorování
runtime.health Konfigurace globální kontroly stavu

Entities properties

Property Description
entities Objekt definující všechny entity vystavené přes REST nebo GraphQL
entities.entity-name.source Podrobnosti o zdroji databáze pro entitu
entities.entity-name.rest Konfigurace rozhraní REST API pro entitu
entities.entity-name.graphql Konfigurace rozhraní GraphQL API pro entitu
entities.entity-name.permissions Oprávnění a řízení přístupu pro entitu
entities.entity-name.relationships Vztahy s jinými entitami
entities.entity-name.cache Konfigurace ukládání do mezipaměti na úrovni entity
entities.entity-name.health Konfigurace kontroly stavu na úrovni entit

Schema

Parent Property Typ Required Default
$root $schema řetězec ✔️ 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

Nejnovější schéma je vždy k dispozici na adrese https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json.

Versioning

Soubory schématu jsou k dispozici na konkrétních adresách URL a zajišťují, že můžete použít správnou verzi nebo nejnovější dostupné schéma.

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

Nahraďte VERSION-suffix požadovanou verzí.

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

Soubory zdroje dat

Parent Property Typ Required Default
$root data-source-files string array ❌ Ne None

Tvůrce rozhraní Data API podporuje více konfiguračních souborů s jedním určeným jako nastavení správy runtime souborů nejvyšší úrovně. Všechny konfigurace sdílejí stejné schéma JSON, což umožňuje runtime nastavení v jakémkoli souboru nebo v každém souboru bez chyby. Rozdělte entity pro lepší organizaci.

Diagram více konfiguračních souborů odkazovaných jako pole v rámci jednoho konfiguračního souboru

Format

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

Více pravidel konfigurace

  • Každý konfigurační soubor musí obsahovat vlastnost data-source.
  • Každý konfigurační soubor musí obsahovat vlastnost entities.
  • Konfigurace nejvyšší úrovně musí obsahovat runtime.
  • Podřízené konfigurace můžou zahrnovat runtime, ale jsou ignorovány.
  • Podřízené konfigurační soubory můžou obsahovat vlastní podřízené soubory.
  • Konfigurační soubory je možné uspořádat do podsložek.
  • Názvy entit musí být jedinečné ve všech konfiguračních souborech.
  • Vztahy mezi entitami v různých konfiguračních souborech se nepodporují.

Examples

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