Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penyusun API Data mendukung titik akhir hibrid dengan menggunakan file sumber data, memungkinkan Anda menentukan beberapa sumber data dan entitasnya dalam file konfigurasi terpisah.
Pendekatan ini berguna untuk skenario seperti:
- Anda perlu mengekspos entitas dari lebih dari satu database
- Anda ingin mengatur konfigurasi secara modular
- Anda perlu mengelola backend data yang berbeda secara independen
Structure
Untuk menentukan beberapa sumber data, buat beberapa file konfigurasi dan referensikan dalam data-source-files array konfigurasi tingkat atas.
File tingkat atas
{
"data-source-files": [
"dab-config-sql.json",
"dab-config-cosmos.json"
],
"runtime": {
"rest": {
"enabled": true
},
"graphql": {
"enabled": true
},
"mcp": {
"enabled": true
}
}
}
File anak: 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 anak: 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
- Hanya pengaturan file
runtimetingkat atas yang dihormati - Setiap file anak harus berisi bagian
data-sourcedanentities - Nama entitas harus unik secara global di semua file
- Entitas yang ditentukan dalam file terpisah tidak dapat saling mereferensikan melalui hubungan
- File dapat disarangkan dalam subfolder sesuai kebutuhan
Benefits
- Pemisahan konfigurasi per backend yang bersih
- Mengaktifkan API multi-database yang dapat diskalakan
- Menyederhanakan pemeliharaan untuk sistem yang kompleks
Limitations
- Tidak ada hubungan di seluruh file konfigurasi
- Referensi file melingkar tidak diperbolehkan
- Hanya perilaku runtime kontrol file tingkat atas