Создание новых конфигураций обработчиков#
Предусловия#
Не требуются.
Последовательность выполнения#
Данный сценарий выполняется пользователем, создающим *.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(<текст>, <идентификатор события>, <источник события>, <получатель события>)
Правила эксплуатации#
Не требуется.
Результат#
Создание новых конфигураций обработчиков выполнено.