Bagikan melalui


Apa itu penyusun API Data untuk Azure Database?

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.

Ilustrasi maskot penyusun API Data yang mengenakan topi konstruksi.

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.

Diagram dukungan titik akhir di penyusun API Data.

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.

Diagram database yang didukung untuk penyusun API Data.

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.

Diagram opsi autentikasi untuk penyusun API Data.

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.

Diagram arsitektur pembangun API Data.

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

Diagram opsi hosting kontainer untuk penyusun API Data.

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.