У меня есть объекты JSON, поступающие в Nifi через MQTT
с двух разных входов - например, скажем, один от верхнего датчика, а другой от нижнего датчика. Каждый из датчиков имеет свою тему MQTT, поэтому я использую два разных процессора ConsumeMQTT для ввода этих данных в мой поток Nifi.
JSON Object для верхнего датчика равен {"Top_Data": "value"}
Объект JSON для нижнего датчика равен {"Bottom_Data": "value"}
В настоящее время я использую два отдельных процессора EvaluateJsonPath для хранения значения Top_Data
или Bottom_Data
в атрибуте под названием sensorData.
Как я могу использовать какой-то оператор if / или, чтобы использовать только один процессор для EvaluateJsonPath для обоих объектов JSON, которые я мог получить из MQTT? По сути, я хочу иметь выражение, которое говорит: «Если у моего объекта JSON есть свойство Top_Data, используйте его значение для атрибута sensorData, в противном случае используйте значение из свойства Bottom_Data.»
Пример моего процессора EvaluateJsonPath