Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Data API Builder ondersteunt hybride eindpunten met behulp van gegevensbronbestanden, zodat u meerdere gegevensbronnen en hun entiteiten in afzonderlijke configuratiebestanden kunt definiëren.
Deze benadering is handig voor scenario's zoals:
- U moet entiteiten uit meer dan één database beschikbaar maken
- U wilt configuraties modulair organiseren
- U moet verschillende gegevensback-ends onafhankelijk beheren
Structure
Als u meerdere gegevensbronnen wilt definiëren, maakt u meerdere configuratiebestanden en verwijst u ernaar in de data-source-files matrix van de configuratie op het hoogste niveau.
Bestand op het hoogste niveau
{
"data-source-files": [
"dab-config-sql.json",
"dab-config-cosmos.json"
],
"runtime": {
"rest": {
"enabled": true
},
"graphql": {
"enabled": true
},
"mcp": {
"enabled": true
}
}
}
Onderliggend bestand: dab-config-sql.json
{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('SQL_CONNECTION_STRING')"
},
"entities": {
"Book": {
"source": {
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
Onderliggend bestand: dab-config-cosmos.json
{
"data-source": {
"database-type": "cosmosdb_nosql",
"connection-string": "@env('COSMOS_CONNECTION_STRING')",
"options": {
"database": "library"
}
},
"entities": {
"LoanRecord": {
"source": {
"object": "LoanRecords"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
Behavior
- Alleen de instellingen van het bestand
runtimeop het hoogste niveau worden gerespecteerd - Elk onderliggend bestand moet zowel een als
data-sourceeenentitiessectie bevatten - Entiteitsnamen moeten globaal uniek zijn in alle bestanden
- Entiteiten die in afzonderlijke bestanden zijn gedefinieerd , kunnen niet naar elkaar verwijzen via relaties
- Bestanden kunnen indien nodig worden genest in submappen
Benefits
- Schone scheiding van configuratie per back-end
- Schaalbare API's voor meerdere databases inschakelen
- Vereenvoudigt onderhoud voor complexe systemen
Limitations
- Geen relaties tussen configuratiebestanden
- Verwijzingen naar kringbestanden zijn niet toegestaan
- Alleen het gedrag van runtime-beheer op het hoogste niveau