Пути до файлов в блоках трансформации и агрегации#
Описание путей до файлов#
В файле *.conf:
В блоке трансформации
transformStepв полеdsl → pathуказывается путь до файла трансформации.
Возможно указывать относительный путь относительно файла трансформации. Имя файла может быть любым с расширением «.tr».
# Блок трансформации
transformStep: {
name: "transformation step"
type: "dsl"
dsl: {
source: "file"
path: "event.tr" # DSL-файл, описывающий логику трансформации
}
format : {
input: "xml"
output: "json"
}
destination: ${destination}
}
В блоке агрегации
aggregationStepпути до файлов заполняются аналогично.
# Блок агрегации
aggregationStep: {
name: "simple-aggregation"
type: "aggregation"
format: {
input: "json"
output: "json"
}
key {
type: "dsl"
source: "file"
path: "key.tr" # DSL-файл ключа агрегирования. Возвращает значение, по которому связываются события.
}
trigger: {
type: "dsl"
source: "file"
path: "trigger.tr" # DSL-файл, триггер агрегации. Описывает условие, по которому начинается обработка накопленных событий.
timeout: 3600000000
}
dsl: {
source: "file"
path: "simple.tr" # Основной DSL-файл агрегации. Описывает обработку накопленных событий.
}
destination: ${destination}
}
Передача сообщений в формате Base64#
Внешние файлы относительно основной конфигурации *.conf можно передавать закодированной строкой в формате Base64 в поле, которое может быть либо path, либо value.
Поле path переименовано в value (предусмотрена возможность работы с полем path для сохранения обратной совместимости для значений поля «source»: «classpath» и «file»).
Пример блока трансформации в конфигурации:
# Блок трансформации
transformStep: {
name: "transformation step"
type: "dsl"
dsl: {
source: "base64"
value: "eyJ0ZXN0IjoidGVzdCBtZXNzYWdlIn0="
}
format : {
input: "xml"
output: "json"
}
destination: ${destination}
}