Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il generatore di API dati supporta gli endpoint ibridi tramite l'uso di file di origine dati, consentendo di definire più origini dati e le relative entità in file di configurazione separati.
Questa operazione è utile quando:
- È necessario esporre le entità da più di un database
- Si vogliono organizzare le configurazioni in modo modulare
- È necessario gestire in modo indipendente i diversi back-end di dati
Structure
Per definire più origini dati, creare più file di configurazione e farvi riferimento nella data-source-files matrice della configurazione di primo livello.
Top-level file
{
"data-source-files": [
"dab-config-sql.json",
"dab-config-cosmos.json"
],
"runtime": {
"rest": {
"enabled": true
}
}
}
File figlio: 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" ] }
]
}
}
}
File figlio: dab-config-cosmos.json
{
"data-source": {
"database-type": "cosmosdb_nosql",
"connection-string": "@env('COSMOS_CONNECTION_STRING')",
"database-name": "library"
},
"entities": {
"LoanRecord": {
"source": {
"object": "LoanRecords"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
Behavior
- Vengono rispettate solo le impostazioni del file di
runtimeprimo livello - Ogni file figlio deve contenere sia una sezione che una
data-sourceentities - I nomi delle entità devono essere univoci a livello globale in tutti i file
- Le entità definite in file separati non possono farvi riferimento tramite relazioni
- I file possono essere annidati nelle sottocartelle in base alle esigenze
Benefits
- Separazione pulita della configurazione per back-end
- Abilita LE API multi-database scalabili
- Semplifica la manutenzione per sistemi complessi
Limitations
- Nessuna relazione tra i file di configurazione
- Non sono consentiti riferimenti a file circolari
- Solo il comportamento di runtime dei controlli file di primo livello