什麼是適用於 Azure 資料庫的數據 API 產生器?
數據 API 產生器會取代對資料庫執行 CRUD 的任何自定義 API, (建立、讀取、更新、刪除) 作業。 DAB 是跨平臺、開放原始碼,且與語言、技術和架構無關。 它需要零個程式代碼和單一組態檔。 最佳做法是免費,不需要進階層,而且可以在任何雲端中執行。
數據 API 產生器是專為開發人員所設計。 數據 API 產生器具有跨平臺 CLI、原生 OpenAPI、適用於 REST 端點的 Swagger,以及 GraphQL 端點的 Cake Pop。 其無狀態 Docker 易記容器可以使用 EasyAuth、Microsoft Entra Identity 或任何 JSON Web 令牌 (JWT) 企業選擇的伺服器來保護。 它具有彈性的原則引擎、細微的安全性控制,並會自動將宣告數據傳遞至 SQL 會話內容。
數據 API 產生器 (DAB) 同時支援多個後端數據源,包括關係型和 NoSQL 來源。 DAB 也會與 Application Insights 緊密整合。 組態檔可以反映資料庫中的關聯性,或定義新的虛擬關聯性。 GraphQL 端點允許單一交易內的多個巢狀 Create 語句,而 REST 端點功能記憶體內部快取並支持類似 OData 的查詢字串關鍵詞。
DAB 以原生方式與 Azure Static Web Apps 整合。 DAB 也適用於 Azure Container Apps、Azure Container Instances、Azure Kubernetes Services 和適用於容器的 Azure Web Apps。 DAB 會與這些服務搭配運作,同時完全支援自定義的內部部署。
DAB 支援:
- SQL Server
- Azure SQL
- 適用於 NoSQL 的 Azure Cosmos DB
- PostgreSQL
- 適用於 PostgreSQL 的 Azure 資料庫
- 適用於 PostgreSQL 的 Azure Cosmos DB
- MySQL
- 適用於 MySQL 的 Azure 資料庫
- Azure SQL 資料倉儲
DAB 可以減少第三個程式代碼基底、消除單元測試套件、縮短 CI/CD 管線,並引進通常保留給最大開發小組的標準和進階功能。 其安全且功能豐富,同時保持非常簡單、可調整且可觀察。
架構
此圖表會細分數據 API 產生器的所有元件之間的關聯性。
重要功能
- 支援 NoSQL 集合
- 支援關係型數據表、檢視和預存程式
- 支援多個同時的數據源
- 透過 OAuth2/JWT 支持驗證
- 支援 EasyAuth 和 Microsoft Entra Identity
- 使用已接收宣告的角色型授權
- 透過原則表達式的專案層級安全性
- REST 端點
- POST、GET、PUT、PATCH、DELETE
- 篩選、排序和分頁
- 記憶體內部快取
- OpenAPI 的支援
- GraphQL 端點
- 查詢和變化
- 篩選、排序和分頁
- 關聯性導覽
- 動態架構
- 透過專用 CLI 輕鬆開發
- 透過資料庫連線整合靜態 Web Apps
- 開放原始碼 & 免費
開放原始碼
數據 API 產生器是開放原始碼,且在 MIT 授權下發行。 存放庫位於 Azure/data-api-builder 的 GitHub 上。