Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Data API Builder futtatásához legalább egy konfigurációs fájlra van szükség. Ez a JSON-alapú fájl határozza meg az API beállítását a környezeti beállításoktól az entitásdefiníciókig. Egy tulajdonsággal $schema kezdődik, amely lehetővé teszi a fájl többi részének sémaérvényesítését.
Legfelső szintű tulajdonságok
| Ingatlan | Leírás |
|---|---|
| $schema | A konfiguráció JSON-sémájának URI-ja. |
| adatforrás | Adatbázis-kapcsolati beállításokat tartalmazó objektum. |
| adatforrásfájlok | Egyéb konfigurációs fájl elérési útjainak tömbje. |
| runtime | Futtatókörnyezeti viselkedést konfiguráló objektum. |
| entitások | A REST vagy GraphQL használatával közzétett összes entitást meghatározó objektum. |
| autoentities | Mintaalapú szabályokat meghatározó objektum, amely automatikusan elérhetővé teszi az egyező adatbázis-objektumokat entitásként (csak MSSQL). |
| azure-key-vault | Azure Key Vault-konfiguráció titkos kódok kezeléséhez. |
Adatforrás tulajdonságai
| Ingatlan | Leírás |
|---|---|
| adatforrás | Adatbázis-kapcsolati beállításokat tartalmazó objektum. |
| data-source.database-type | A háttérrendszerben használt adatbázistípus (mssql, postgresql, mysql, cosmosdb_nosql, cosmosdb_postgresql). |
| data-source.connection-string | A kijelölt adatbázistípus kapcsolati sztringje. |
| data-source.options | Adatbázis-specifikus beállítások és speciális beállítások. |
| adatforrás.health | Az adatforrás állapot-ellenőrzési konfigurációja. |
| adatforrásfájlok | Egyéb konfigurációs fájl elérési útjainak tömbje. |
Futtatókörnyezet tulajdonságai
| Ingatlan | Leírás |
|---|---|
| runtime | Futtatókörnyezeti viselkedést konfiguráló objektum. |
| runtime.pagination | Az API-válaszok lapozási beállításai. |
| runtime.rest | A REST API globális konfigurációja. |
| runtime.graphql | GraphQL API globális konfigurációja. |
| runtime.cache | Globális válasz gyorsítótárazási konfigurációja. |
| runtime.compression | HTTP-választömörítés konfigurálása. |
| runtime.mcp | A Model Context Protocol (MCP) globális konfigurációja. |
| runtime.telemetria | Telemetriai, naplózási és monitorozási konfiguráció. |
| runtime.health | Globális állapot-ellenőrzési konfiguráció. |
Entitások tulajdonságai
| Ingatlan | Leírás |
|---|---|
| entitások | A REST vagy GraphQL használatával közzétett összes entitást meghatározó objektum. |
| entityes.entity-name.source | Az entitás adatbázis-forrásadatai. |
| entityes.entity-name.rest | AZ entitás REST API-konfigurációja. |
| entityes.entity-name.graphql | GraphQL API-konfiguráció az entitáshoz. |
| entityes.entity-name.permissions | Az entitás engedélyei és hozzáférés-vezérlése. |
| entityes.entity-name.relationships | Kapcsolatok más entitásokkal. |
| entityes.entity-name.cache | Entitásszintű gyorsítótárazási konfiguráció. |
| entityes.entity-name.health | Entitásszintű állapot-ellenőrzési konfiguráció. |
| entityes.entity-name.mcp | Entitásszintű MCP-konfiguráció. |
| entityes.entity-name.fields | Mező metaadatai, aliasai és elsődleges kulcsjelölései. |
| entityes.entity-name.description | Ember által olvasható entitás leírása. |
Séma
| Szülő | Ingatlan | Típus | Szükséges | Alapértelmezett |
|---|---|---|---|---|
$root |
$schema |
karakterlánc | ✔️ Igen | Nincs |
Minden konfigurációs fájl egy $schema tulajdonsággal kezdődik, amely megadja a JSON-sémát az ellenőrzéshez.
Formátum
{
"$schema": <string>
}
Example
{
"$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json"
}
Jótanács
A legújabb séma mindig elérhető a következő címen https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json: .
Verziókezelés
A sémafájlok meghatározott URL-címeken érhetők el, így a megfelelő verziót vagy a legújabb rendelkezésre álló sémát használhatja.
https://github.com/Azure/data-api-builder/releases/download/<VERSION>-<suffix>/dab.draft.schema.json
Cserélje le VERSION-suffix a kívánt verzióra.
https://github.com/Azure/data-api-builder/releases/download/v0.3.7-alpha/dab.draft.schema.json
Adatforrásfájlok
| Szülő | Ingatlan | Típus | Szükséges | Alapértelmezett |
|---|---|---|---|---|
$root |
data-source-files |
karakterlánc-tömb | ❌ Nem | Nincs |
A Data API Builder több konfigurációs fájlt is támogat, és az egyiket a legfelső szintű fájlkezelési runtime beállítások közé sorolja. Minden konfiguráció ugyanazzal a JSON-sémával rendelkezik, így bármely fájlban hiba nélkül engedélyezhetők runtime a beállítások. Entitások felosztása a jobb szervezet érdekében.
Formátum
{
"data-source-files": [ "<string>" ]
}
Több konfigurációs szabály
- Minden konfigurációs fájlnak tartalmaznia kell a tulajdonságot
data-source. - Minden konfigurációs fájlnak tartalmaznia kell a tulajdonságot
entities(vagyautoentities). - A legfelső szintű konfigurációnak tartalmaznia kell a következőt
runtime: . - A gyermekkonfigurációk tartalmazhatnak
runtime, de a Data API Builder figyelmen kívül hagyja. - A gyermekkonfigurációs fájlok tartalmazhatnak saját gyermekfájlokat.
- A konfigurációs fájlok almappákba rendezhetők.
- Az entitásneveknek minden konfigurációs fájlban egyedinek kell lenniük.
- A különböző konfigurációs fájlok entitásai közötti kapcsolatok nem támogatottak.
Examples
{
"data-source-files": [
"dab-config-2.json",
"my-folder/dab-config-3.json",
"my-folder/my-other-folder/dab-config-4.json"
]
}
Automatikusságok
| Szülő | Ingatlan | Típus | Szükséges | Alapértelmezett |
|---|---|---|---|---|
$root |
autoentities |
objektum | ❌ Nem | Nincs |
A autoentities szakasz olyan mintaalapú szabályokat határoz meg, amelyek automatikusan elérhetővé teszik az egyező adatbázis-objektumokat DAB-entitásokként az indításkor. Az objektum minden kulcsa egy elnevezett definíció, amely mintákat, sablonokat és engedélyeket tartalmaz.
Fontos
Az autoentitások jelenleg csak az MSSQL-adatforrásokat támogatják.
Ha autoentities jelen van, a entities szakaszra már nincs szükség. A konfigurációs séma lehetővé teszi vagy autoentitiesentities (vagy mindkettőt). Ha mindkettő jelen van, a explicit módon definiált entitások elsőbbséget élveznek az azonos nevű autoentitás-egyezésekkel szemben.
Formátum
{
"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>" } ]
}
]
}
}
}
Tulajdonságok
| Ingatlan | Típus | Szükséges | Alapértelmezett | Leírás |
|---|---|---|---|---|
patterns |
objektum | ✔️ Igen | Nincs | Definiálja a belefoglalási, kizárási és elnevezési szabályokat. |
patterns.include |
karakterlánc-tömb | ❌ Nem | ["%.%"] |
A belefoglalandó objektumok MSSQL-mintái LIKE . |
patterns.exclude |
karakterlánc-tömb | ❌ Nem | null |
Kizárandó objektumok MSSQL-mintái LIKE . |
patterns.name |
karakterlánc | ❌ Nem | "{schema}_{object}" |
Interpolációs minta és {schema}{object}. |
template |
objektum | ❌ Nem | Nincs | Az összes egyeztetett entitásra alkalmazott alapértelmezett konfiguráció. |
template.mcp |
objektum | ❌ Nem | Nincs | McP-beállítások egyező entitásokhoz. |
template.mcp.dml-tools |
Boolean | ❌ Nem | true |
Engedélyezze az MCP-adatmanipulációs nyelv (DML) eszközeit. |
template.rest |
objektum | ❌ Nem | Nincs | A egyeztetett entitások REST-beállításai. |
template.rest.enabled |
Boolean | ❌ Nem | true |
REST-végpontok engedélyezése. |
template.graphql |
objektum | ❌ Nem | Nincs | A megfeleltethető entitások GraphQL-beállításai. |
template.graphql.enabled |
Boolean | ❌ Nem | true |
Engedélyezze a GraphQL-t. |
template.health |
objektum | ❌ Nem | Nincs | Egyeztetett entitások állapot-ellenőrzési beállításai. |
template.health.enabled |
Boolean | ❌ Nem | true |
Állapot-ellenőrzések engedélyezése. |
template.cache |
objektum | ❌ Nem | Nincs | A megfeleltethető entitások gyorsítótár-beállításai. |
template.cache.enabled |
Boolean | ❌ Nem | false |
Válasz gyorsítótárazásának engedélyezése. |
template.cache.ttl-seconds |
egész szám | ❌ Nem | null |
Gyorsítótár élettartam másodpercben. |
template.cache.level |
karakterlánc | ❌ Nem | "L1L2" |
Gyorsítótárszint. |
permissions |
tömb | ❌ Nem | Nincs | Az összes egyező entitásra vonatkozó engedélyek. |
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" } ] }
]
}
}
}
Ezzel a konfigurációval a dbo séma összes táblája és nézete (kivéve az egyezőket dbo.internal%) automatikusan DAB-entitásként lesz közzétéve. Minden entitás neve a {schema}_{object} mintával történik (például dbo_Products), a REST és a GraphQL engedélyezve van, gyorsítótárazást használ 30 másodperces élettartammal (TTL), és hozzáférést biztosít read a anonymous szerepkörhöz.
Jótanács
A dab auto-config parancssori felületről létrehozhat autoentitásdefiníciókat, és dab auto-config-simulate megtekintheti, hogy mely objektumok egyeznek meg a módosítások véglegesítése előtt. További információ: a 2.0-s verzió újdonságai.
Azure Key Vault
| Szülő | Ingatlan | Típus | Szükséges | Alapértelmezett |
|---|---|---|---|---|
$root |
azure-key-vault |
objektum | ❌ Nem | Nincs |
Konfigurálja az Azure Key Vault-integrációt a titkos kódok kezeléséhez. Ha jelen van, a endpoint tulajdonságra szükség van.
Beágyazott tulajdonságok
| Szülő | Ingatlan | Típus | Szükséges | Alapértelmezett |
|---|---|---|---|---|
azure-key-vault |
endpoint |
karakterlánc | ✔️ Igen | Nincs |
azure-key-vault |
retry-policy |
objektum | ❌ Nem | Nincs |
| Szülő | Ingatlan | Típus | Szükséges | Alapértelmezett |
|---|---|---|---|---|
azure-key-vault.retry-policy |
mode |
enum (fixed | exponential) |
❌ Nem | "exponential" |
azure-key-vault.retry-policy |
max-count |
egész szám | ❌ Nem | 3 |
azure-key-vault.retry-policy |
delay-seconds |
egész szám | ❌ Nem | 1 |
azure-key-vault.retry-policy |
max-delay-seconds |
egész szám | ❌ Nem | 60 |
azure-key-vault.retry-policy |
network-timeout-seconds |
egész szám | ❌ Nem | 60 |
Az Azure Key Vaultban tárolt titkos kulcsok hivatkozásához használja a függvényt a @akv() konfigurációs értékekben. A Data API Builder ezeket a hivatkozásokat indításkor a konfigurált végpont használatával oldja fel.
Formátum
{
"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')"
}
}