データ API ビルダーを実行するには、少なくとも 1 つの構成ファイルが必要です。 この JSON ベースのファイルは、環境設定からエンティティ定義まで、API のセットアップを定義します。 ファイルの残りの部分のスキーマ検証を有効にする $schema プロパティで始まります。
Top-level properties
| Property | Description |
|---|---|
| $schema | この構成の JSON スキーマの URI。 |
| data-source | データベース接続設定を含むオブジェクト。 |
| data-source-files | その他の構成ファイル パスの配列。 |
| runtime | ランタイム動作を構成するオブジェクト。 |
| entities | REST または GraphQL を介して公開されるすべてのエンティティを定義するオブジェクト。 |
Data-source properties
| Property | Description |
|---|---|
| data-source | データベース接続設定を含むオブジェクト。 |
| data-source.database-type | バックエンドで使用されるデータベースの種類 (mssql、postgresql、mysql、cosmosdb_nosql、cosmosdb_postgresql)。 |
| data-source.connection-string | 選択したデータベースの種類の接続文字列。 |
| data-source.options | データベース固有のオプションと詳細設定。 |
| data-source.health | データ ソースの正常性チェックの構成。 |
| data-source-files | その他の構成ファイル パスの配列。 |
Runtime properties
| Property | Description |
|---|---|
| runtime | ランタイム動作を構成するオブジェクト。 |
| runtime.pagination | API 応答の改ページ設定。 |
| runtime.rest | REST API グローバル構成。 |
| runtime.graphql | GraphQL API グローバル構成。 |
| runtime.cache | グローバル応答キャッシュ構成。 |
| runtime.telemetry | テレメトリ、ログ記録、監視の構成。 |
| runtime.health | グローバル正常性チェックの構成。 |
Entities properties
| Property | Description |
|---|---|
| entities | REST または GraphQL を介して公開されるすべてのエンティティを定義するオブジェクト。 |
| entities.entity-name.source | エンティティのデータベース ソースの詳細。 |
| entities.entity-name.rest | エンティティの REST API 構成。 |
| entities.entity-name.graphql | エンティティの GraphQL API 構成。 |
| entities.entity-name.permissions | エンティティのアクセス許可とアクセス制御。 |
| entities.entity-name.relationships | 他のエンティティとのリレーションシップ。 |
| entities.entity-name.cache | エンティティ レベルのキャッシュ構成。 |
| entities.entity-name.health | エンティティ レベルの正常性チェックの構成。 |
Schema
| Parent | Property | タイプ | Required | Default |
|---|---|---|---|---|
$root |
$schema |
文字列 | ✔️ Yes | None |
Each configuration file begins with a $schema property, specifying the JSON schema for validation.
Format
{
"$schema": <string>
}
Example
{
"$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json"
}
Tip
最新のスキーマは常に https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.jsonで使用できます。
Versioning
スキーマ ファイルは特定の URL で使用できるため、適切なバージョンまたは使用可能な最新のスキーマを使用できます。
https://github.com/Azure/data-api-builder/releases/download/<VERSION>-<suffix>/dab.draft.schema.json
VERSION-suffix を目的のバージョンに置き換えます。
https://github.com/Azure/data-api-builder/releases/download/v0.3.7-alpha/dab.draft.schema.json
データ ソース ファイル
| Parent | Property | タイプ | Required | Default |
|---|---|---|---|---|
$root |
data-source-files |
string array | ❌ いいえ | None |
データ API ビルダーは、複数の構成ファイルをサポートします。1 つは、 runtime 設定を管理する最上位ファイルとして指定されています。 すべての構成で同じ JSON スキーマが共有されるため、エラーなしで任意のファイルまたはすべてのファイルで runtime 設定が可能になります。 組織を改善するためにエンティティを分割します。
Format
{
"data-source-files": [ "<string>" ]
}
複数の構成規則
- すべての構成ファイルに、
data-sourceプロパティを含める必要があります。 - すべての構成ファイルに、
entitiesプロパティを含める必要があります。 - 最上位の構成には、
runtimeを含める必要があります。 - 子構成には
runtimeを含めることができますが、無視されます。 - 子構成ファイルには、独自の子ファイルを含めることができます。
- 構成ファイルはサブフォルダーに編成できます。
- エンティティ名は、すべての構成ファイルで一意である必要があります。
- 異なる構成ファイル内のエンティティ間のリレーションシップはサポートされていません。
Examples
{
"data-source-files": [
"dab-config-2.json",
"my-folder/dab-config-3.json",
"my-folder/my-other-folder/dab-config-4.json"
]
}