데이터 API 작성기를 실행하려면 하나 이상의 구성 파일이 필요합니다. 이 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 | Type | Required | Default |
|---|---|---|---|---|
$root |
$schema |
string | ✔️ 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 | Type | Required | Default |
|---|---|---|---|---|
$root |
data-source-files |
string array | ❌ 아니요 | None |
데이터 API 작성기에서는 최상위 파일 관리 설정으로 지정된 여러 구성 파일을 지원합니다 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"
]
}