데이터 API 작성기에서는 데이터 원본 파일을 사용하여 하이브리드 엔드포인트를 지원하므로 여러 데이터 원본 및 해당 엔터티를 별도의 구성 파일로 정의할 수 있습니다.
이 방법은 다음과 같은 경우 유용합니다.
- 둘 이상의 데이터베이스에서 엔터티를 노출해야 합니다.
- 구성을 모듈식으로 구성하려고 합니다.
- 다른 데이터 백 엔드를 독립적으로 관리해야 합니다.
Structure
여러 데이터 원본을 정의하려면 여러 구성 파일을 만들고 최상위 구성의 배열에서 data-source-files 참조합니다.
Top-level file
{
"data-source-files": [
"dab-config-sql.json",
"dab-config-cosmos.json"
],
"runtime": {
"rest": {
"enabled": true
}
}
}
자식 파일: dab-config-sql.json
{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('SQL_CONNECTION_STRING')"
},
"entities": {
"Book": {
"source": {
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
자식 파일: dab-config-cosmos.json
{
"data-source": {
"database-type": "cosmosdb_nosql",
"connection-string": "@env('COSMOS_CONNECTION_STRING')",
"database-name": "library"
},
"entities": {
"LoanRecord": {
"source": {
"object": "LoanRecords"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
Behavior
- 최상위 파일의
runtime설정만 적용됩니다. - 모든 자식 파일에는 a와
entitiessection이data-source모두 포함되어야 합니다. - 엔터티 이름은 모든 파일에서 전역적으로 고유해야 합니다.
- 별도의 파일에 정의된 엔터티는 관계를 통해 서로를 참조할 수 없습니다 .
- 필요에 따라 하위 폴더에 파일을 중첩할 수 있습니다.
Benefits
- 백 엔드당 구성의 정리 분리
- 확장 가능한 다중 데이터베이스 API 사용
- 복잡한 시스템에 대한 유지 관리를 간소화합니다.
Limitations
- 구성 파일 간 관계 없음
- 순환 파일 참조는 허용되지 않습니다.
- 최상위 파일만 런타임 동작을 제어합니다.