Коннектор "Денвик"

Реализовано 

 Задача 

 Обеспечить создание БД и подключение к FastBoard через преднастроенный сценарий интеграции с Денвик. 

 Сценарий работы в Экстракторе: 

 

 В интерфейсе пользователь выбирает FastBoard как приёмник данных. 

 После выбора FastBoard пользователь вставляет ссылку на бэкенд FastBoard , запускающую процесс подключения. Формат ссылки – адрес вида fb - back . domain . ru 

 Кроме ссылки пользователь должен указать свои логин и пароль, а также название коннектора в FastBoard . 

 Экстрактор дописывает к адресу путь к API  и выполняет POST -запрос на указанный URL с указанием названия коннектора в системе FastBoard . Данный коннектор будет связывать создаваемую БД с системой, по введенному названию его можно будет найти внутри FastBoard . 

 В ответ приходит JSON, содержащий параметры подключения: 

 Выполняется расшифровка ответа. 

 Поля подключения к ClickHouse заполняются автоматически. 

 В результате формируются: 

 

 БД внутри ClickHouse FastBoard , 

 коннектор FastBoard к созданной БД 

 

 

 Пользователь может обновлять данные БД в Экстракторе, работать с данными через коннектор в FastBoard 

 

 

 Требования: 

 

 (DevOps) В отдельном контейнере поднять инстанс КХ 

 (DevOps) К этому контейнеру создать права (логин и пароль) на создание БД, дать параметры удаленного доступа (хост и порт посложнее) 

 (Backend) Ручка на бэкенде должна быть настроена на инстанс в контейнере 

 

 

 Решение 

 Денвик использует Экстратор 1С для создания подключений к БД. Они могут сами создавать таблицы и выгружать туда данные из 1С. Со стороны FastBoard требуется: 

 

 Создать БД и пользователя в КХ по запросу 

 Передать данные для подключения в Экстрактор 

 Создать коннектор к новой БД в FastBoard 

 

 

 Запрос 

 В Экстракторе пользователь вводит ссылку на стенд FastBoard, на котором будет создана БД и коннектор к ней. В итоге Экстрактор формирует запрос на создание БД, в котором указан API для создания подключения, например 

 https://fastbord-back-front.fb-dev.winsolutions.ru//api/v1/db/create 

 При этом пользователь передаёт свои логин и пароль на FB, для выдачи доступа. Дальнейшее подключение к БД будет от имени 1С (создаваемый пользователь для базы), а не конкретного пользователя FB. 

 Вызывается метод со стороны FastBoard: запускаются создание БД, устанавливается полный доступ пользователя к новой БД. 

 Последовательность вызовов 

 1. Вызов /api/v1/db/create (или другое название ручки для создания БД) 

 Метод: POST 

 Создает ClickHouse-базу данных с уникальным именем и пользователем. Возвращает все необходимые параметры для подключения (см. пример ответа в Экстрактор 1С). 

 Для каждой новой БД необходимо создавать уникального пользователя и выдавать ему пароль. Эти данные передаются в Экстрактор вместе с данными для подключения. 

 К названию БД необходимо добавлять префикс (например, dnvc_) 

 2. Вызов /api/v2/source 

 Метод: POST 

 Пример запроса: 

 {

 "name": "string",

 "driver": "clickHouse",

 "database": "string",

 "host": "string",

 "port": xxxx,

 "user": "string",

 "password": "string"

} 

 Все параметры для этого запроса (кроме name) берутся из создания БД и данных пользователя 

 Ответ 

 Успешный ответ (созданная БД) шифруется и передаётся в Экстрактор. Передаются следующие данные: 

 

 Сервер 

 Порт 

 Пользователь 

 Пароль 

 Название БД 

 

 Пример ответа в Экстрактор 1С: 

 {

 "db_name": "string",

 "host": "IP",

 "port": "xxxx",

 "user": "string",

 "password": "string"

}