次の方法で共有


Azure Database 用データ API ビルダーとは

データ API ビルダー (DAB) は、SQL Server、Azure Cosmos DB、PostgreSQL、MySQL などのサポートされているデータベース用の REST API と GraphQL API を作成する、オープン ソースの構成ベースのエンジンです。 DAB は任意のクラウドまたはオンプレミスで実行され、自由に使用できます。 カスタム API を記述せずにデータベース オブジェクトを公開できるように、1 つの JSON ファイルを使用して構成します。

建設帽子を着た Data API ビルダーのキャラクターのイラスト。

データ API ビルダーは、データベースに対して汎用 CRUD (作成、読み取り、更新、削除) 操作を実行するほとんどのカスタム データ API を置き換えます。 DAB は、言語、テクノロジ、フレームワークに依存しません。 アプリケーション コードと 1 つの構成ファイルは必要ありません。 何より、それは本当に無料で、プレミアムレベルはなく、どこでもステートレスに実行されます。

エンドポイントのサポート

データ API ビルダーでは、REST エンドポイントと GraphQL エンドポイントの両方がすぐに使用でき、同時にサポートされます。 バージョン 1.7 以降では、DAB は、同じ豊富な機能を持つ エージェント アプリのモデル コンテキスト プロトコル (MCP) もサポートしています。

データ API ビルダーでのエンドポイントサポートの図。

DAB には、クロスプラットフォーム CLI、OpenTelemetry、正常性チェックが含まれています。 また、REST エンドポイントには OpenAPI と Swagger、GraphQL エンドポイントには Nitro (以前は Banana Cake Pop と呼ばられていた) もサポートされています。

ヒント

標準のエンドポイント機能

  • データの改ページ位置の変更
  • データ フィルター処理
  • データの並べ替え
  • 列の選択
  • ストアド プロシージャ
  • リレーションシップ ナビゲーション

データベースのサポート

データ API ビルダー (DAB) では、リレーショナル ソースと NoSQL ソースを含む複数のバックエンド データ ソースが同時にサポートされます。 サポートされているデータベースには、SQL Server と Azure SQL、Azure Cosmos DB、PostgreSQL、MySQL が含まれます。 データベースごとの詳細と制限事項については、「 データベース固有の機能」を参照してください。

Data API ビルダーでサポートされているデータベースの図。

データ API ビルダーは、複数のデータ ソースに同時に接続できます。 リレーショナル ソースを JSON またはドキュメント データベースと組み合わせて、クラウドとオンプレミスのデータベースを混在させることができます。 この柔軟性により、DAB は単純なセットアップから複雑なデプロイ トポロジまで、あらゆるものをサポートできます。

セキュリティ

そのステートレスで Docker フレンドリなコンテナーは、EasyAuth、Microsoft Entra Identity、または企業が選択した任意の JSON Web トークン (JWT) サーバーで保護できます。 柔軟なポリシー エンジンときめ細かなセキュリティ制御を備え、要求データを SQL セッション コンテキストに自動的に渡します。

データ API ビルダーの認証オプションの図。

アーキテクチャ

この図では、Data API ビルダーのすべてのコンポーネント間の関係を分解します。 テーブル、ビュー、およびストアド プロシージャを定義するデータベース スキーマから始まります。 DAB 構成ファイルは、これらのオブジェクトを抽象化レイヤーに投影します。 そのレイヤーでは、エンティティに名前を付け、フィールドを選択またはエイリアスし、リレーションシップを定義し、アクセス許可を適用します。 実行時に、データ API ビルダーはこの構成を読み取って一貫性のある API サーフェスを生成し、REST エンドポイントと GraphQL エンドポイントを介して同じエンティティ モデルを公開します。 この分離により、アプリケーションとクライアントの安定したセキュリティで保護されたコントラクトを維持しながら、データベースを個別に進化させることができます。

データ API ビルダーアーキテクチャの図。

データ API ビルダーは、1 つの JSON ファイルで構成します。 このファイルでは、次の内容を定義します。

  • サーバーがデータ ソースに接続する方法
  • 公開されるテーブル、ビュー、およびストアド プロシージャ
  • エンティティの形成、命名、および関連付けの方法
  • 各操作へのアクセスを許可されるロール

配置オプション

データ API ビルダーのコンテナー ホスティング オプションの図。

DAB は、Azure Container Apps、Azure Container Instances、Azure Kubernetes Service、Azure Web Apps for Containers と連携します。 DAB はこれらのサービスと連携しながら、カスタムのオンプレミスデプロイを完全にサポートします。

統合と機能

また、DAB は Application Insights とシームレスに統合されます。 構成ファイルは、データベース内のリレーションシップを反映することも、ホット リロードをサポートする新しい仮想ファイルを定義することもできます。 GraphQL エンドポイントでは、1 つのトランザクション内で複数の入れ子になった Create ステートメントを使用できます。一方、REST エンドポイントはメモリ内キャッシュと OData のようなクエリ文字列キーワードの豊富なサポートを備えています。

コードが少なく、機能が増える

DAB は、カスタム API コードの削減、CI/CD パイプラインの短縮、最大の開発チーム向けに通常予約されている標準と高度な機能の導入に役立ちます。 非常にシンプルでスケーラブルで監視可能なまま、セキュリティで保護され、機能が豊富です。

オープン ソース

データ API ビルダーはオープン ソースであり、MIT ライセンスでリリースされています。 リポジトリは GitHub の azure/data-api-builder で入手できます。