Создание новых конфигураций обработчиков#
Предусловия#
Не требуются.
Последовательность выполнения#
Данный сценарий выполняется пользователем, создающим *.conf-файл для загрузки в потоковой обработчик (находится вне ролевой модели, является инициатором создания интеграции).
Конфигурация потокового обработчика событий состоит из одного файла *.conf, описывающего ход выполнения обработки событий, и одного или нескольких файлов *.tr, описывающих шаги обработки событий.
Более подробно формирование conf и tr файлов описано в разделах Построение потока обработки и DSL функции.
Формирование файла *.conf#
Файл *.conf обязательно должен содержать следующие секции:
наименование потока и перечень источников:
flow: { name: "<наименование>" source: [${<наименование источника 1>},${<наименование источника n>}] }определение источника:
<наименование источника>: { name: "<описание источника в формате <Домен>_<topic>_<Поток>>" type: "source" topic: "<наименование topic>" config: ${<ссылка на конфигурацию транспорта из defaults.json>} { "consumer": { "group.id": "<consumer group, с которой производится подключение>" } } destination: ${<наименование следующего шага обработки>} }определение выходной точки:
<наименование выходной точки>: { name: "<описание выходной точки>" type: "destination" topic: "<наименование topic>" config: ${<ссылка на конфигурацию транспорта из defaults.json>} }определение шагов преобразований (дополнительная секция):
<наименование шага преобразования>: { name: "<описание шага преобразования>" type: "dsl" format: { input: "<указание входного формата xml/json>" output: "<указание выходного формата xml/json>" } dsl: { source: "file" path: "путь до tr файла, описывающего преобразования" } destination: ${<наименование следующего шага обработки>} }
Формирование файла *.tr#
В файле *.tr содержатся необходимые преобразования событий. По умолчанию обработчик не производит никаких действий над потоком, все необходимые действия должны указываться явно.
Примеры преобразований, которые могут быть выполнены над потоком событий:
копирование заголовков:
headers.kafka = Environment.kafka.headersкопирование тела сообщения:
OUT = INпередача на выход тела сообщения, полученного на вход:
return("passthrough")журналирование:
INFO(<текст>, <идентификатор события>, <источник события>, <получатель события>)
Правила эксплуатации#
Не требуется.
Результат#
Создание новых конфигураций обработчиков выполнено.