Azure Database 用 Data API Builder とは
データ API ビルダーは、データベースに対して CRUD (作成、読み取り、更新、削除) 操作を実行するカスタム API を置き換えます。 DAB はクロスプラットフォームでオープンソースであり、言語、テクノロジ、フレームワークに依存しません。 0 個のコードと 1 つの構成ファイルが必要です。 何より、Premium レベルを持たない無料で、任意のクラウドで実行できます。
データ API ビルダーは開発者向けに設計されています。 データ API ビルダーには、クロスプラットフォーム CLI、ネイティブ OpenAPI、REST エンドポイント用 Swagger、GraphQL エンドポイント用のバナナ ケーキ ポップが備わります。 そのステートレスな 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 とネイティブに統合されます。 DAB は、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 Cosmos DB
- MySQL
- Azure Database for 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 で入手できます。