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 (DAB) adalah mesin berbasis konfigurasi sumber terbuka yang membuat REST dan API GraphQL untuk database yang didukung seperti SQL Server, Azure Cosmos DB, PostgreSQL, dan MySQL. DAB berjalan di cloud atau lokal apa pun, dan gratis untuk digunakan. Anda mengonfigurasinya menggunakan satu file JSON, sehingga Anda dapat mengekspos objek database tanpa menulis API kustom.
Penyusun API Data menggantikan sebagian besar API data kustom yang melakukan operasi CRUD generik (Buat, Baca, Perbarui, Hapus) terhadap database. DAB tidak bergantung pada bahasa, teknologi, dan kerangka kerja. Ini tidak memerlukan kode aplikasi dan satu file konfigurasi. Yang terbaik dari semuanya, ini benar-benar gratis, tanpa tingkat premium, dan berjalan tanpa status di mana saja.
Dukungan titik akhir
Builder API Data mendukung titik akhir REST dan GraphQL secara bawaan dan secara bersamaan. Dengan versi 1.7 dan yang lebih baru, DAB juga mendukung Protokol Konteks Model (MCP) untuk aplikasi agen dengan fungsionalitas kaya yang sama.
DAB mencakup CLI lintas platform, OpenTelemetry, dan pemeriksaan kesehatan. Ini juga mendukung OpenAPI dan Swagger untuk titik akhir REST dan Nitro (sebelumnya disebut Banana Cake Pop) untuk titik akhir GraphQL.
Tip
Fitur titik akhir siap pakai:
- Penomoran Halaman Data
- Pemfilteran Data
- Pengurutan Data
- Pilihan Kolom
- Prosedur Tersimpan
- Navigasi hubungan
- Agregasi untuk database keluarga SQL
Dukungan database
Penyusun API Data (DAB) mendukung beberapa sumber data backend secara bersamaan, termasuk sumber relasional dan NoSQL. Database yang didukung termasuk SQL Server dan Azure SQL, Azure Cosmos DB, PostgreSQL, dan MySQL. Untuk detail dan batasan menurut database, lihat Ketersediaan fitur.
Penyusun API Data dapat terhubung ke beberapa sumber data secara bersamaan. Anda dapat menggabungkan sumber relasional dengan database JSON atau dokumen dan mencampur database cloud dan lokal. Fleksibilitas ini memungkinkan DAB mendukung semuanya mulai dari pengaturan sederhana hingga topologi penyebaran yang kompleks.
Keamanan
Kontainer stateless yang ramah Docker dari penyusun Data API dapat diamankan dengan Azure App Service EasyAuth, Microsoft Entra ID, atau server JSON Web Token (JWT) apa pun. Ini memiliki mesin kebijakan yang fleksibel, kontrol keamanan terperinci, dan secara otomatis meneruskan data klaim ke konteks sesi SQL.
Pembuat API Data mendukung beberapa penyedia autentikasi:
| Provider | Skenario penggunaan |
|---|---|
| Microsoft Entra ID | Aplikasi produksi menggunakan identitas Microsoft |
| JWT Kustom | Penyedia identitas pihak ketiga (Okta, Auth0, Keycloak) |
| Layanan Aplikasi | Aplikasi yang berjalan di belakang Azure App Service EasyAuth |
| Simulator | Pengembangan dan pengujian lokal |
Untuk panduan konfigurasi langkah demi langkah, lihat Gambaran umum keamanan.
Arsitektur
Diagram ini memecah hubungan antara semua komponen penyusun API Data. Ini dimulai dengan skema database, yang menentukan tabel, tampilan, dan prosedur tersimpan. File konfigurasi DAB memproyeksikan objek ini ke dalam lapisan abstraksi. Di lapisan tersebut, Anda memberi nama entitas, memilih atau alias bidang, menentukan hubungan, dan menerapkan izin. Pada runtime, penyusun Data API membaca konfigurasi ini untuk menghasilkan permukaan API yang konsisten, mengekspos model entitas yang sama melalui titik akhir REST dan GraphQL. Pemisahan ini memungkinkan Anda mengembangkan database secara independen sambil menjaga kontrak yang stabil dan aman untuk aplikasi dan klien.
Anda mengonfigurasi penyusun Api Data dengan satu file JSON. Dalam file, Anda menentukan:
- Cara server tersambung ke sumber data
- Tabel, tampilan, dan prosedur tersimpan mana yang diekspos
- Bagaimana entitas dibentuk, dinamai, dan terkait
- Peran mana yang diizinkan untuk mengakses setiap operasi
Opsi penempatan
DAB berfungsi dengan baik dengan Azure Container Apps, Azure Container Instances, Azure Kubernetes Service, dan Azure Web Apps for Containers. DAB bekerja dengan layanan ini sambil sepenuhnya mendukung penyebaran kustom lokal.
Integrasi dan kemampuan
DAB juga terintegrasi dengan mulus dengan Application Insights. File konfigurasi dapat mencerminkan hubungan dalam database atau menentukan hubungan virtual baru dengan dukungan untuk pemuatan ulang secara langsung. Titik akhir GraphQL memungkinkan beberapa pernyataan Buat bersarang dalam satu transaksi, sementara titik akhir REST menampilkan penyimpanan sementara dalam memori dan dukungan yang kuat untuk kata kunci string kueri seperti OData.
Lebih sedikit kode, lebih banyak fitur
DAB dapat membantu mengurangi kode API kustom, mempersingkat alur CI/CD, dan memperkenalkan standar dan kemampuan tingkat lanjut yang biasanya dicadangkan untuk tim pengembangan terbesar. Ini aman dan kaya fitur sambil tetap sangat sederhana, dapat diskalakan, dan dapat diamati.
Sumber terbuka
Penyusun API Data adalah sumber terbuka dan dirilis di bawah lisensi MIT. Repositori tersedia di GitHub di azure/data-api-builder.