Skip to main content

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

Задача

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

Сценарий работы в Экстракторе:
  1. В интерфейсе пользователь выбирает FastBoard как приёмник данных.
  2. После выбора FastBoard пользователь вставляет ссылку на бэкенд FastBoard, запускающую процесс подключения. Формат ссылки – адрес вида fb-back.domain.ru
  3. Кроме ссылки пользователь должен указать свои логин и пароль, а также название коннектора в FastBoard.
  4. Экстрактор дописывает к адресу путь к API и выполняет POST-запрос на указанный URL с указанием названия коннектора в системе FastBoard. Данный коннектор будет связывать создаваемую БД с системой, по введенному названию его можно будет найти внутри FastBoard.
  5. В ответ приходит JSON, содержащий параметры подключения:
  6. Выполняется расшифровка ответа.
  7. Поля подключения к ClickHouse заполняются автоматически.
  8. В результате формируются:
    • БД внутри ClickHouse FastBoard,
    • коннектор FastBoard к созданной БД
  9. Пользователь может обновлять данные БД в Экстракторе, работать с данными через коннектор в FastBoard

 

Требования:

  • (DevOps) В отдельном контейнере поднять инстанс КХ
  • (DevOps) К этому контейнеру создать права (логин и пароль) на создание БД, дать параметры удаленного доступа (хост и порт посложнее)
  • (Backend) Ручка на бэкенде должна быть настроена на инстанс в контейнере

Решение

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

  • Создать БД и пользователя по запросу
  • Передать данные для подключения в Экстрактор
  • Создать коннектор к новой БД в FastBoard

Денвик.png

Запрос

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

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

При этом пользователь передаёт свои логин и пароль, для выдачи доступа.

Вызывается метод со стороны 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"
}