Создание новых конфигураций обработчиков#

Предусловия#

Не требуются.

Последовательность выполнения#

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

Правила эксплуатации#

Не требуется.

Результат#

Создание новых конфигураций обработчиков выполнено.