Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Построитель данных поддерживает гибридные конечные точки с помощью файлов источника данных, что позволяет определять несколько источников данных и их сущностей в отдельных файлах конфигурации.
Этот подход полезен для таких сценариев, как:
- Необходимо предоставить сущности из нескольких баз данных
- Вы хотите упорядочить конфигурации модульно
- Необходимо самостоятельно управлять различными серверными службами данных
Structure
Чтобы определить несколько источников данных, создайте несколько файлов конфигурации и сослаться на них в data-source-files массиве конфигурации верхнего уровня.
Файл верхнего уровня
{
"data-source-files": [
"dab-config-sql.json",
"dab-config-cosmos.json"
],
"runtime": {
"rest": {
"enabled": true
},
"graphql": {
"enabled": true
},
"mcp": {
"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')",
"options": {
"database": "library"
}
},
"entities": {
"LoanRecord": {
"source": {
"object": "LoanRecords"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
Behavior
- Учитываются только параметры файла
runtimeверхнего уровня. - Каждый дочерний файл должен содержать как раздел, так и
data-sourceразделentities - Имена сущностей должны быть глобально уникальными для всех файлов
- Сущности, определенные в отдельных файлах , не могут ссылаться друг на друга через связи
- Файлы можно вложить в вложенные папки по мере необходимости
Benefits
- Чистое разделение конфигурации на серверную часть
- Включает масштабируемые API с несколькими базами данных
- Упрощение обслуживания сложных систем
Limitations
- Нет связей между файлами конфигурации
- Ссылки на циклические файлы не допускаются
- Поведение среды выполнения только элементов управления файлами верхнего уровня