Общая информация#
Поток обработки конфигурируется с помощью определенных файлов, описывающих пути прохождения события по шагам обработчика. Таким образом, эти файлы описывают ход потока обработчика.
Данные файлы называются файлами описания потока обработки (или просто конфигурацией потока / файлом потока). Они имеют расширение «.conf».
Конфигурация потока трансформации#
Конфигурацией потока трансформации является файл в формате HOCON.
При ручном запуске — путь до файла передается в параметре задачи Flink --config.
Основным конфигурационным элементом является поле flow, которое содержит следующие поля:
name— имя задачи Flink, обязательный;source— настройки источников сообщений или первого шага потока, обязательный;flink— дополнительные параметры исполнения потока Flink, опциональный;restUrls— объект из id, по которому будет происходить обращение к функции, опциональный:url— адрес внешнего сервиса;type— формат ответа JSON, XML, AVRO. Значение по умолчанию — json;schema— список схем для проверки ответа;checkMimeType— признак проверки MIME type из заголовка ответа Content-Type на соответствие с параметромtype. Значение по умолчанию — true.
restSslProperties— опциональные настройки ssl; используются в случае, если подключение к сторонним сервисам производится с помощью ssl-соединения (ssl.keystore.location,ssl.keystore.password,ssl.key.password,ssl.truststore.location,ssl.truststore.password,ssl.protocol,ssl.ciphers);type— используемый клиент, может принимать значения apache или default, опциональный;timeout— тайм-аут в миллисекундах, используемый в Apache клиенте для получения значения вызова, по умолчанию 10000, опциональный.
flow: {
name: "Event Process test" # Таким будет имя обработчика в dashboard флинка
source: [${source1}, ${source2}, ${sourceN}] # Можно передавать список источников в квадратных скобках. Если источник не указан в этом списке, то часть потока, что начинается с него, не будет запущена
flink: {}
restUrls {
testGet: {
url: "https://localhost:12345/test"
type: "xml"
schema: [
{
source: "file"
path: "/file/path/to/xml/schema"
},{
source: "classpath"
path: "/path/to/default/xml/schema"
default: true }
]
checkMimeType: true
}
}
restSslProperties {
"ssl.keystore.location" : "/path/to/jks"
"ssl.keystore.password" : "pass"
"ssl.truststore.location" : "/path/to/jks"
"ssl.truststore.password" : "pass"
"ssl.key.password" : "pass"
}
}