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.
Konfigurasi otomatis memungkinkan Anda menentukan pola yang secara otomatis menemukan dan mengekspos objek database dalam konfigurasi Anda. Konfigurasi otomatis dapat secara dramatis menyusutkan file konfigurasi, terutama ketika objek dan izin dapat diprediksi. Selain itu, autoentities evaluasi ulang dan terapkan pola setiap kali DAB dimulai, sehingga tabel baru yang cocok dengan pola secara otomatis ditambahkan sebagai entitas tanpa perubahan konfigurasi manual.
Ketika autoentities ada dalam konfigurasi, bagian entities tidak lagi diperlukan. Skema memerlukan baik autoentities maupun entities (atau keduanya).
Petunjuk / Saran
dab auto-config Gunakan perintah untuk membuat autoentities definisi dari CLI, dan dab auto-config-simulate untuk mempratinjau objek yang cocok sebelum melakukan perubahan. Untuk referensi konfigurasi JSON, lihat Autoentities konfigurasi.
Definisi
Setiap autoentities definisi adalah blok konfigurasi bernama yang menggabungkan serangkaian pola dengan templat dan izin. Nama definisi peka huruf besar/kecil dan bertindak sebagai pengidentifikasi logis. Anda dapat memiliki beberapa definisi, masing-masing menargetkan set objek dan izin database yang berbeda.
{
"autoentities": {
"my-def-name": {
"patterns": {
"include": [ "dbo.table1", "dbo.table2" ],
"exclude": [ ],
"name": "{schema}_{object}"
},
"template": {
"rest": { "enabled": true },
"graphql": { "enabled": true },
"mcp": { "dml-tools": true },
"health": { "enabled": true },
"cache": { "enabled": false }
},
"permissions": [
{
"role": "anonymous",
"actions": [ "*" ] }
]
}
}
}
Nota
Autoentities saat ini hanya mendukung sumber data MSSQL .
Pola
Pola mengontrol objek database mana yang ditemukan dan bagaimana objek tersebut dinamai sebagai entitas. DAB mengevaluasi pola menggunakan sintaks T-SQL LIKE terhadap schema.object format setiap objek database.
Sertakan dan kecualikan
Array include menentukan objek mana yang akan dicocokkan. Gunakan % sebagai kartubebas. Misalnya, dbo.% cocok dengan semua objek dalam dbo skema. Defaultnya adalah %.% (semua objek dalam semua skema).
Karena include merupakan array string, Anda dapat menggabungkan beberapa pola untuk menargetkan skema, awalan, atau bahkan mencantumkan tabel tertentu berdasarkan nama. Saat mencantumkan tabel individual, selalu sertakan nama skema (misalnya, dbo.Products bukan hanya Products).
Sertakan contoh
| Pola | Matches | Deskripsi |
|---|---|---|
%.% |
Semua objek dalam semua skema | Default. Cocok dengan semuanya. |
dbo.% |
Semua objek dalam dbo skema |
Kartubebas skema tunggal. |
dbo.Product% |
dbo.Products, dbo.ProductDetails, dll. |
Awalan nama objek dalam satu skema. |
%.Product% |
dbo.Products, sales.ProductOrders, dll. |
Awalan penamaan objek di semua skema. |
dbo.Products |
dbo.Products hanya |
Sama persis, tidak ada kartubebas. |
dbo.%
sales.%
|
Semua objek dalam dbo dan sales |
Beberapa pola wildcard dikombinasikan. |
dbo.Products
dbo.Orders
dbo.Customers
|
Tiga tabel itu saja | Daftar tabel eksplisit. Nama skema diperlukan. |
dbo.%
sales.Invoices
|
Semua dbo objek plus sales.Invoices |
Campuran karakter pengganti dan tabel eksplisit. |
Array exclude menghapus objek dari set yang cocok. Pola pengecualian dievaluasi setelah menyertakan pola. Pola pengecualian berguna untuk menjaga tabel internal atau tabel pengujian keluar dari API Anda. Seperti include, exclude adalah array string dan mendukung beberapa pola.
Mengecualikan contoh
| Pola | Tidak termasuk | Deskripsi |
|---|---|---|
dbo.internal% |
dbo.internalLogs, dbo.internalAudit, dll. |
Hapus objek dengan awalan nama. |
%.%_staging |
dbo.Orders_staging, sales.Items_staging, dll. |
Hapus tabel penahapan di semua skema. |
dbo.__migration% |
dbo.__migrationHistory Dll. |
Menghapus tabel pelacakan migrasi. |
dbo.sysdiagrams |
dbo.sysdiagrams hanya |
Hapus satu objek tertentu. |
%.vw_% |
dbo.vw_Summary, reports.vw_Daily, dll. |
Hapus tampilan dengan aturan penamaan. |
dbo.Logs
dbo.AuditTrail
|
Dua tabel itu saja | Kecualikan tabel tertentu berdasarkan nama. |
Baris perintah
dab auto-config my-def \
--patterns.include "dbo.%" \
--patterns.exclude "dbo.internal%"
Beberapa pola dipisahkan spasi pada CLI:
dab auto-config my-def \
--patterns.include "dbo.Products" "dbo.Orders" "dbo.Customers" \
--permissions "anonymous:read"
Konfigurasi yang dihasilkan
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"exclude": [ "dbo.internal%" ]
}
}
}
}
Dalam contoh ini, semua objek dalam dbo skema disertakan kecuali objek yang namanya dimulai dengan internal.
Penamaan entitas
Properti name adalah pola interpolasi yang mengontrol bagaimana objek database yang cocok dinamai sebagai entitas. Ini mendukung {schema} dan {object} placeholder. Anda juga dapat menyertakan string harfiah bersama placeholder. Defaultnya adalah {schema}_{object}, yang menggabungkan skema database dan nama objek dengan garis bawah.
Examples
Contoh berikut mengasumsikan objek dbo.Productsdatabase :
| Pola | Nama entitas yang dihasilkan | Deskripsi |
|---|---|---|
{schema}_{object} |
dbo_Products |
Default. Skema dan objek dipisahkan oleh garis bawah. |
{object} |
Products |
Nama objek saja. |
{schema}-{object} |
dbo-Products |
Skema dan objek dipisahkan oleh tanda hubung. |
{schema}.{object} |
dbo.Products |
Skema dan objek dipisahkan oleh titik. |
api_{object} |
api_Products |
Awalan harfiah dengan nama objek. |
{object}_entity |
Products_entity |
Nama objek dengan akhiran harfiah. |
tbl_{schema}_{object} |
tbl_dbo_Products |
Awalan literal dengan kedua placeholder. |
{schema}_{object}_v1 |
dbo_Products_v1 |
Kedua placeholder dengan akhiran versi literal. |
{object}Resource |
ProductsResource |
Nama objek dengan akhiran harfiah, tanpa pemisah. |
Penggunaan {schema} dalam pola sangat berguna ketika Anda menyertakan beberapa skema dan perlu menghindari konflik penamaan.
Baris perintah
dab auto-config my-def \
--patterns.include "dbo.%" \
--patterns.name "{schema}_{object}"
Konfigurasi yang dihasilkan
{
"autoentities": {
"my-def": {
"patterns": {
"include": [ "dbo.%" ],
"name": "{schema}_{object}"
}
}
}
}
Template
Templat menentukan konfigurasi default yang diterapkan ke setiap entitas yang cocok dengan definisi. Pengaturan templat mencakup protokol API mana yang diaktifkan dan bagaimana cara kerja sistem caching. Pengaturan apa pun yang Anda hilangkan menggunakan nilai defaultnya.
Protokol API
Anda dapat mengaktifkan atau menonaktifkan REST, GraphQL, dan Model Context Protocol (MCP) secara independen untuk entitas yang cocok.
Baris perintah
dab auto-config my-def \
--patterns.include "dbo.%" \
--template.rest.enabled true \
--template.graphql.enabled true \
--template.mcp.dml-tools true
Konfigurasi yang dihasilkan
{
"autoentities": {
"my-def": {
"template": {
"rest": { "enabled": true },
"graphql": { "enabled": true },
"mcp": { "dml-tools": true }
}
}
}
}
| Harta benda | Default | Deskripsi |
|---|---|---|
rest.enabled |
true |
Mengekspos titik akhir REST untuk entitas yang cocok. |
graphql.enabled |
true |
Mengekspos operasi GraphQL untuk entitas yang cocok. |
mcp.dml-tools |
true |
Mengekspos alat bahasa manipulasi data (DML) MCP untuk entitas yang cocok. |
Pemeriksaan kesehatan
Pemeriksaan kesehatan diaktifkan secara default. Saat diaktifkan, DAB menyertakan entitas yang cocok dalam titik akhir pemeriksaan kesehatannya, memverifikasi konektivitas database untuk setiap entitas. Atur template.health.enabled ke false untuk mengecualikan entitas yang cocok dari pemeriksaan kesehatan.
Baris perintah
dab auto-config my-def \
--patterns.include "dbo.%" \
--template.health.enabled true
Konfigurasi yang dihasilkan
{
"autoentities": {
"my-def": {
"template": {
"health": { "enabled": true }
}
}
}
}
Penggunaan Cache
Penembolokan respons dapat diaktifkan untuk semua entitas yang cocok dengan jangka waktu aktif (TTL) dan tingkat cache yang dapat dikendalikan.
Baris perintah
dab auto-config my-def \
--patterns.include "dbo.%" \
--template.cache.enabled true \
--template.cache.ttl-seconds 30 \
--template.cache.level L1L2
Konfigurasi yang dihasilkan
{
"autoentities": {
"my-def": {
"template": {
"cache": { "enabled": true, "ttl-seconds": 30, "level": "l1l2" }
}
}
}
}
| Harta benda | Default | Deskripsi |
|---|---|---|
cache.enabled |
false |
Aktifkan pencaching respons untuk entitas yang cocok. |
cache.ttl-seconds |
null |
Waktu kedaluwarsa cache dalam detik. |
cache.level |
L1L2 |
Tingkat cache. Nilai yang didukung: L1, L1L2. |
Permissions
Izin menentukan kontrol akses berbasis peran yang diterapkan ke setiap entitas yang cocok dengan definisi. Setiap entri izin menentukan peran dan tindakan yang diizinkan untuk peran tersebut.
Baris perintah
dab auto-config my-def \
--patterns.include "dbo.%" \
--permissions "anonymous:read"
Konfigurasi yang dihasilkan
{
"autoentities": {
"my-def": {
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
Tindakan yang didukung meliputi create, , readupdate, delete, dan * (semua). Anda dapat menetapkan beberapa peran dengan kumpulan tindakan yang berbeda.
Contoh konfigurasi lengkap
Definisi lengkap autoentities menggabungkan pola, templat, dan izin.
Baris perintah
dab auto-config my-def \
--patterns.include "dbo.%" \
--patterns.exclude "dbo.internal%" \
--patterns.name "{schema}_{object}" \
--template.rest.enabled true \
--template.graphql.enabled true \
--template.cache.enabled true \
--template.cache.ttl-seconds 30 \
--template.cache.level L1L2 \
--permissions "anonymous:read"
Konfigurasi yang dihasilkan
{
"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" } ] }
]
}
}
}
Definisi ini mencakup semua objek dalam dbo skema kecuali objek yang dimulai dengan internal, menamainya menggunakan schema_object format , mengaktifkan REST dan GraphQL, cache respons selama 30 detik, dan memberikan akses baca anonim.
Simulasi
Sebelum menerapkan autoentities pola ke konfigurasi, Anda dapat mensimulasikan hasil untuk mempratinjau objek database mana yang akan dicocokkan. Simulasi tersambung ke database, menyelesaikan setiap pola, dan melaporkan objek yang cocok tanpa menulis perubahan apa pun. Output simulasi menunjukkan kecocokan setiap definisi dengan nama entitas dan objek database yang sesuai.
Petunjuk / Saran
Gunakan dab auto-config-simulate untuk menjalankan simulasi dari CLI. Lihat referensi perintah untuk semua opsi.
Baris perintah (konsol)
dab auto-config-simulate \
--config ./dab-config.json
Keluaran konsol yang dihasilkan
AutoEntities Simulation Results
Filter: my-def
Matches: 3
dbo_Products → dbo.Products
dbo_Inventory → dbo.Inventory
dbo_Pricing → dbo.Pricing
Anda juga dapat mengekspor hasil simulasi ke CSV untuk analisis lebih lanjut.
Baris perintah (file)
dab auto-config-simulate \
--config ./dab-config.json \
--output results.csv
Hasil output CSV
filter_name,entity_name,database_object
my-def,dbo_Products,dbo.Products
my-def,dbo_Inventory,dbo.Inventory
my-def,dbo_Pricing,dbo.Pricing