Настройка файла appsettings.json
Файл appsettings.json содержит конфигурацию сервиса bs-backend в формате JSON. Данный файл используется для управления доступом групп пользователей и настройки баз данных.
Внимание! Некоторые значения из .env могут переопределять параметры в файле appsettings.json. В связи с этим ряд параметров целесообразнее изменять через файл .env, чтобы избежать ручного поиска и правок соответствующих значений в appsettings.json. Какие параметры могут быть переопределены — указано в файле .env.
Файл appsettings.json находится по следующему пути:
.../DockerCompose/bs-backend/settings
Файл appsettings.json необходимо настраивать на основе Содержимое appsettings.jsonc, в котором наглядно показано, какая настройка за что отвечает. Часть настроек в appsettings.json уже будет заполнена и изменений не требует (например, настройки «Queues» (очереди Kafka)).
Файл Содержимое appsettings.jsonc включает в себя фрагмент, где описано, как можно настроить подключение к базе данных. Аналогично можно настроить и подключение к несколькоим базам. Для этого можно скопировать существующий блок конфигурации и изменить в нем параметры подключения (Server, Db, Name и т.д.).
Ниже приведен пример, в котором добавлено две базы данных с именами «db_name_1» и «db_name_2».
"DbConnections": [
{
"Server": "postgresql:5432",
"Db": "db_name_1",
"Name": "db_name_1",
"DisplayName": "Основная база",
"DbType": "PGSQL",
"SqlUser": "postgres", // ваш пользователь
"SqlPass": "ВАШ_ПАРОЛЬ_ОТ_POSTGRES",
// ветви и издания (для мультибазового режима)
"Branches": [
{
"Branch": 0,
"Editions": [
{
"Edition": "Ultimate",
"ClientProcessPreloadCount": 5,
"OtherProcesses": [
{ "AdditionalCommandLine": "/CONSUMERTOPICNAME=ui_actions", "Count": 5 },
{ "AdditionalCommandLine": "/CONSUMERTOPICNAME=server_actions", "Count": 2 }
]
}
]
}
]
},
{
"Server": "postgresql:5432",
"Db": "db_name_2",
"Name": "db_name_2",
"DisplayName": "Дополнительная база",
"DbType": "PGSQL",
"SqlUser": "postgres",
"SqlPass": "ВАШ_ПАРОЛЬ_ОТ_POSTGRES",
"Branches": [
{
"Branch": 0,
"Editions": [
{
"Edition": "Ultimate",
"ClientProcessPreloadCount": 5,
"OtherProcesses": [
{ "AdditionalCommandLine": "/CONSUMERTOPICNAME=ui_actions", "Count": 5 },
{ "AdditionalCommandLine": "/CONSUMERTOPICNAME=server_actions", "Count": 2 }
]
}
]
}
]
}
],
В случае использования PostgreSQL в качестве СУБД дополнительные настройки не требуются. В файле appsettings.json уже приведена базовая конфигурация для подключения. Если вы используете MS SQL Server, то необходимо учесть следующию особенности:
- В
Serverсамостоятельно указать IP и порт сервера MS SQL Server через запятую. - В
DbTypeуказатьMSSQL. - Использовать параметр
TrustServerCertificate— используется для решения проблем с сертификатами со значениемtrueв случае возникновения ошибок проверки SSL-сертификата (например, при использовании самоподписанных сертификатов на стороне SQL-сервера). Данная настройка позволяет веб-серверу доверять сертификату сервера базы данных без дополнительной проверки цепочки доверия, если они есть.
Пример представлен ниже:
"Server": "IP,Порт", "Db": "MasterBase", "Name": "demo", "DisplayName": "MasterBase", "DbType": "MSSQL", "TrustServerCertificate": true, "SqlUser": "SQL_user_admin", "SqlPass": "password"