다음을 통해 공유


데이터 API 작성기 구성 스키마 참조

데이터 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"
  ]
}