Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Vlastnosti nejvyšší úrovně
| Property | Description |
|---|---|
| $schema | Identifikátor URI schématu JSON pro tuto konfiguraci |
| zdroj dat | Objekt obsahující nastavení připojení k databázi |
| soubory zdroje dat | 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 |
| autoentity | Objekt definující pravidla založená na vzorech, která automaticky zpřístupňují odpovídající databázové objekty jako entity (pouze MSSQL). |
| azure-key-vault | Konfigurace služby Azure Key Vault pro správu tajných kódů |
Vlastnosti zdroje dat
| Property | Description |
|---|---|
| zdroj dat | 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 |
| soubory zdroje dat | Pole dalších cest ke konfiguračním souborům |
Vlastnosti modulu runtime
| 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.compression | Konfigurace komprese odpovědí HTTP |
| runtime.mcp | Globální konfigurace protokolu MCP (Model Context Protocol). |
| runtime.telemetry | Konfigurace telemetrie, protokolování a monitorování |
| runtime.health | Konfigurace globální kontroly stavu |
Vlastnosti entit
| 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 |
| entities.entity-name.mcp | Konfigurace MCP na úrovni entity |
| entities.entity-name.fields | Metadata polí, aliasy a označení primárního klíče |
| entities.entity-name.description | Popis entity čitelný pro člověka |
Schema
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
$root |
$schema |
řetězec | ✔️ Ano | None |
Každý konfigurační soubor začíná $schema vlastností a určuje schéma JSON pro ověření.
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 |
Řetězcové pole | ❌ 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.
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
entitiesvlastnost (neboautoentities). - Konfigurace nejvyšší úrovně musí obsahovat
runtime. - Podřízené konfigurace můžou zahrnovat
runtime, ale Tvůrce rozhraní DATA ho ignoruje. - 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"
]
}
Automatickéenty
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
$root |
autoentities |
objekt | ❌ Ne | None |
Oddíl autoentities definuje pravidla založená na vzorech, která automaticky zpřístupňují odpovídající databázové objekty jako entity DAB při spuštění. Každý klíč v objektu je pojmenovaná definice obsahující vzory, šablonu a oprávnění.
Důležité
Automatické funkce aktuálně podporují pouze zdroje dat MSSQL .
Pokud autoentities je oddíl k dispozici, entities už není potřeba. Schéma konfigurace umožňuje buď autoentities nebo entities (nebo obojí). Pokud existují obě entity, mají explicitně definované entity přednost před automatickýmienty, které odpovídají stejnému názvu.
Format
{
"autoentities": {
"<definition-name>": {
"patterns": {
"include": [ "<string>" ],
"exclude": [ "<string>" ],
"name": "<string>"
},
"template": {
"mcp": { "dml-tools": <boolean> },
"rest": { "enabled": <boolean> },
"graphql": { "enabled": <boolean> },
"health": { "enabled": <boolean> },
"cache": {
"enabled": <boolean>,
"ttl-seconds": <integer>,
"level": "<string>"
}
},
"permissions": [
{
"role": "<string>",
"actions": [ { "action": "<string>" } ]
}
]
}
}
}
Vlastnosti
| Property | Typ | Required | Default | Description |
|---|---|---|---|---|
patterns |
objekt | ✔️ Ano | None | Definuje pravidla zahrnutí, vyloučení a pojmenování. |
patterns.include |
Řetězcové pole | ❌ Ne | ["%.%"] |
Vzory MSSQL LIKE pro objekty, které se mají zahrnout. |
patterns.exclude |
Řetězcové pole | ❌ Ne | null |
Vzory MSSQL LIKE pro objekty, které se mají vyloučit. |
patterns.name |
řetězec | ❌ Ne | "{schema}_{object}" |
Interpolační vzor používající {schema} a {object}. |
template |
objekt | ❌ Ne | None | Výchozí konfigurace použitá pro všechny odpovídající entity. |
template.mcp |
objekt | ❌ Ne | None | Nastavení MCP pro odpovídající entity |
template.mcp.dml-tools |
Boolean | ❌ Ne | true |
Povolte nástroje jazyka DML (Data Manipulací s daty MCP). |
template.rest |
objekt | ❌ Ne | None | Nastavení REST pro odpovídající entity |
template.rest.enabled |
Boolean | ❌ Ne | true |
Povolte koncové body REST. |
template.graphql |
objekt | ❌ Ne | None | Nastavení GraphQL pro odpovídající entity |
template.graphql.enabled |
Boolean | ❌ Ne | true |
Povolte GraphQL. |
template.health |
objekt | ❌ Ne | None | Nastavení kontroly stavu pro odpovídající entity |
template.health.enabled |
Boolean | ❌ Ne | true |
Povolte kontroly stavu. |
template.cache |
objekt | ❌ Ne | None | Nastavení mezipaměti pro odpovídající entity |
template.cache.enabled |
Boolean | ❌ Ne | false |
Povolte ukládání odpovědí do mezipaměti. |
template.cache.ttl-seconds |
integer | ❌ Ne | null |
Ukládání do mezipaměti v sekundách |
template.cache.level |
řetězec | ❌ Ne | "L1L2" |
Úroveň mezipaměti. |
permissions |
pole | ❌ Ne | None | Oprávnění použitá u všech shodných entit |
Example
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"exclude": [ "dbo.internal%" ],
"name": "{schema}_{object}"
},
"template": {
"rest": { "enabled": true },
"graphql": { "enabled": true },
"cache": { "enabled": true, "ttl-seconds": 30, "level": "l1l2" }
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
Při této konfiguraci se každá tabulka a zobrazení ve schématu dbo (s výjimkou těch odpovídajících dbo.internal%) automaticky zveřejňují jako entita DAB. Každá entita má název pomocí {schema}_{object} vzoru (například dbo_Products), má povolený rest a GraphQL, používá ukládání do mezipaměti s 30sekundovým TTL (Time to Live) a uděluje read přístup k anonymous roli.
Tip
Slouží dab auto-config k vytváření definic autoentit z rozhraní příkazového řádku a dab auto-config-simulate k zobrazení náhledu, které objekty se shodují před potvrzením změn. Další informace najdete v novinkách ve verzi 2.0.
Azure Key Vault
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
$root |
azure-key-vault |
objekt | ❌ Ne | None |
Konfiguruje integraci služby Azure Key Vault pro správu tajných kódů. Při přítomnosti je vlastnost povinná endpoint .
Vnořené vlastnosti
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
azure-key-vault |
endpoint |
řetězec | ✔️ Ano | None |
azure-key-vault |
retry-policy |
objekt | ❌ Ne | None |
| Parent | Property | Typ | Required | Default |
|---|---|---|---|---|
azure-key-vault.retry-policy |
mode |
enum (fixed | exponential) |
❌ Ne | "exponential" |
azure-key-vault.retry-policy |
max-count |
integer | ❌ Ne | 3 |
azure-key-vault.retry-policy |
delay-seconds |
integer | ❌ Ne | 1 |
azure-key-vault.retry-policy |
max-delay-seconds |
integer | ❌ Ne | 60 |
azure-key-vault.retry-policy |
network-timeout-seconds |
integer | ❌ Ne | 60 |
Pokud chcete odkazovat na tajné kódy uložené ve službě @akv() Azure Key Vault, použijte funkci v hodnotách konfigurace. Tvůrce rozhraní Data API tyto odkazy vyřeší při spuštění pomocí nakonfigurovaného koncového bodu.
Format
{
"azure-key-vault": {
"endpoint": "<string>",
"retry-policy": {
"mode": <"exponential"> (default) | <"fixed">,
"max-count": <integer; default: 3>,
"delay-seconds": <integer; default: 1>,
"max-delay-seconds": <integer; default: 60>,
"network-timeout-seconds": <integer; default: 60>
}
}
}
Example
{
"azure-key-vault": {
"endpoint": "https://my-vault.vault.azure.net/",
"retry-policy": {
"mode": "exponential",
"max-count": 5,
"delay-seconds": 2,
"max-delay-seconds": 120,
"network-timeout-seconds": 90
}
},
"data-source": {
"database-type": "mssql",
"connection-string": "@akv('sql-connection-string')"
}
}