Для получения данных из внешних источников платформа Directual использует инструмент “Слушатели” (PULL интеграции). Его можно найти в “Settings” — “Integration” — “PULL integration”.
Возможна конфигурация прослушивания любых баз данных, для которых существуют драйверы JDBC.
Платформа подключается к базе по указанным параметрам доступа. Настраиваются отдающие и принимающие структуры, а также соответствия полей.
Слушатель итерациями выгружает некоторое количество объектов на платформу. Количество объектов может быть настроено в дополнительных параметрах.
Также предусмотрена возможность выгрузки данных по сложному запросу. Сделать эти запросы можно в дополнительных параметрах.
Для настройки слушателя необходимо иметь данные доступа к прослушиваемой базе, это:
Тип базы данных: Postgres | Oracle 11.2 | MS SQL | MySQL.
Адрес базы данных: (пример: 123.12.11.10, example.com, example.com:5246)
Название базы данных
Логин
Пароль
Если этих данных у вас нет, обратитесь к администратору этой БД
Listener version: 1 или 2 — Версия совместимости. Исторически сложившаяся настройка, обозначает версию подхода для синхронизации с базами. Цифра “1” может быть использована в старых проектах.
Статус: RUN | STOP — запущен слушатель или нет;
The field in DB with the last modified/updated date: Для ускорения работы слушателей в больших базах организован поиск по колонке “data changed” (если это предусмотрено). Система реагирует на новые и измененные значения и забирает только их. При настройке этого поля платформа слушает поля и ID, и “Data changed”.
Update DB after saving: Yes | No Слушатель запоминает последний прочитанный в базе ID. Чтобы в следующей итерации работы слушателя можно было забрать объекты с ID меньшим, чем в прошлый проход, нужно включить эту настройку.
SelectExpression Поле для формирования SQL запроса. Запрос исполняется в подключенной базе, а слушатель забирает результат.
Например: SELECT users FROM yourtable
Create event: Yes | No
SelectGetTableExpression Выбор таблицы в "прослушиваемой" базе для формирования запроса.
SqlToGettingColumns Запрос на получение колонок в таблице.
Забирать за раз: — количество объектов, которое слушатель вытаскивает из базы в одну итерацию.
Таймаут запроса в секундах — по умолчанию установлено 10 минут.
Период опроса период между работой слушателя. По умолчанию 60 секунд.
Системное имя. Устанавливается автоматически. Может быть использовано в функции JS SDK $D.pullDB = function(listenerSysName)