다음을 통해 공유


둘 이상의 데이터 원본 추가

데이터 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와 entities section이 data-source 모두 포함되어야 합니다.
  • 엔터티 이름은 모든 파일에서 전역적으로 고유해야 합니다.
  • 별도의 파일에 정의된 엔터티는 관계를 통해 서로를 참조할 수 없습니다 .
  • 필요에 따라 하위 폴더에 파일을 중첩할 수 있습니다.

Benefits

  • 백 엔드당 구성의 정리 분리
  • 확장 가능한 다중 데이터베이스 API 사용
  • 복잡한 시스템에 대한 유지 관리를 간소화합니다.

Limitations

  • 구성 파일 간 관계 없음
  • 순환 파일 참조는 허용되지 않습니다.
  • 최상위 파일만 런타임 동작을 제어합니다.