Как добавить атрибут в текущий файл потока при разработке процессора Apache NiFi cusom.
Что я хочу сделать, это добавить новый атрибут (или, по крайней мере, обновить текущий атрибут) в текущий файл потока с вычисленным значением.
Или есть уже построенный процессор, который я могу использовать?Обновить атрибуты на основе содержимого в NiFi
ответ
NiFi поддерживает несколько способов создания и обновления атрибутов в зависимости от источника данных, который вы хотите использовать. Некоторые процессоры общего назначения включают в себя:
UpdateAttribute - Обновляет атрибуты в файлах потоков, используя как статические значения, так и язык выражений NiFi.
Вы можете добавить столько свойств с одним процессором. Я рекомендую сканировать через Apache NiFi Expression Language Guide, чтобы понять, что вы можете с ним сделать.
ExtractText - Устанавливает значения атрибутов путем применения регулярных выражений к содержимому потока.
ExecuteScript - ExecuteScript Выполняет собственный код сценария, который можно использовать для обновления атрибутов, как вам угодно.
И есть больше для определенных форматов контента, например:
- EvaluateJsonPath - для JSON
- EvaluateXPath - для XML
Есть ли способ, чтобы добавить часть содержимое файла потока для атрибута в качестве значения? –
Да! Я расширил ответ, чтобы включить способы получения атрибутов из содержимого потока. – James