データ API ビルダー (DAB) は、データベースに対して REST API を提供します。 GraphQL API も提供します。 SQL Server だけでなく、Azure SQL Database、Azure Cosmos DB、PostgreSQL、MySQL、SQL Data Warehouse もサポートされています。 DAB は任意のクラウドまたはオンプレミスで実行され、オープン ソースであり、自由に使用できます。 セキュリティで保護され、機能が豊富で、Microsoft Fabric の基本コンポーネントです。これは、高パフォーマンスであり、大量のデータ操作を処理できるもう 1 つの言い方です。
データ API ビルダーは、データベースに対して汎用 CRUD (作成、読み取り、更新、削除) 操作を実行するほとんどのカスタム データ API を置き換えます。 DAB は、言語、テクノロジ、フレームワークに依存しません。 0 個のコードと 1 つの構成ファイルが必要です。 何より、それは本当に無料で、プレミアムレベルはなく、どこでもステートレスに実行されます。
データ API ビルダーは開発者向けに設計されています。 DAB には、GraphQL エンドポイント用のクロスプラットフォーム CLI、Open Telemetry、Health Checks (ネイティブ OpenAPI、REST エンドポイント用 Swagger)、および Nitro (以前は Banana Cake Pop と呼ばられていた) が用意されています。 そのステートレスで Docker フレンドリなコンテナーは、EasyAuth、Microsoft Entra Identity、または企業が選択した任意の JSON Web トークン (JWT) サーバーで保護できます。 柔軟なポリシー エンジンときめ細かなセキュリティ制御を備え、要求データを SQL セッション コンテキストに自動的に渡します。
データ API ビルダー (DAB) では、リレーショナル ソースと NoSQL ソースを含む複数のバックエンド データ ソースが同時にサポートされます。 また、DAB は Application Insights とシームレスに統合されます。 構成ファイルは、データベース内のリレーションシップを反映することも、ホット リロードをサポートする新しい仮想ファイルを定義することもできます。 GraphQL エンドポイントでは、1 つのトランザクション内で複数の入れ子になった Create ステートメントを使用できます。一方、REST エンドポイントはメモリ内キャッシュと OData のようなクエリ文字列キーワードの豊富なサポートを備えています。
DAB は、Azure Static Web Apps とネイティブに統合されます。 また、Azure Container Apps、Azure Container Instances、Azure Kubernetes Services、Azure Web Apps for Containers でも機能します。 DAB はこれらのサービスと連携しながら、カスタムのオンプレミスデプロイを完全にサポートします。
DAB では、次の機能がサポートされます。
- SQL Server
- Azure SQL
- NoSQL 用 Azure Cosmos DB
- PostgreSQL
- Azure Database for PostgreSQL(PostgreSQL用Azureデータベース)
- Azure Cosmos DB for PostgreSQL(PostgreSQL用のAzure Cosmos DB)
- MySQL
- Azure MySQL用データベース
- Azure SQL Data Warehouse
DAB を使用すると、一般的なコードベースを 3 分の 1 削減し、単体テストのスイートを排除し、CI/CD パイプラインを短縮し、通常は最大の開発チーム用に予約された標準と高度な機能を導入できます。 非常にシンプルでスケーラブルで監視可能なまま、セキュリティで保護され、機能が豊富です。
アーキテクチャ
この図では、Data API ビルダーのすべてのコンポーネント間の関係を分解します。
主な機能
- NoSQL コレクションのサポート
- リレーショナル テーブル、ビュー、ストアド プロシージャのサポート
- 複数の同時データ ソースをサポートする
- OAuth2/JWT による認証のサポート
- EasyAuth と Microsoft Entra Identity のサポート
- 受信した要求を使用したロールベースの承認
- ポリシー式によるアイテムレベルのセキュリティ
- REST エンドポイント
- POST、GET、PUT、PATCH、DELETE
- フィルター処理、並べ替え、改ページ処理
- メモリ内キャッシュ
- OpenAPI のサポート
- GraphQL エンドポイント
- クエリと変更
- フィルター処理、並べ替え、改ページ処理
- リレーションシップ ナビゲーション
- 動的スキーマ
- 専用 CLI を使用した簡単な開発
- データベース接続を介した静的 Web アプリの統合
- オープンソース & 無料
オープン ソース
データ API ビルダーはオープン ソースであり、MIT ライセンスでリリースされています。 リポジトリは GitHub の azure/data-api-builder で入手できます。