我想设置一个数据流,该数据流接受多个JSON输入,并将它们组合为具有多个属性的单个JSON对象(我目前正在使用一些GenerateFlowFile处理器来生成输入),然后发送数据每10秒钟通过PublishMQTT处理器。
输入以不同的时间间隔(1-5秒)进入,示例如下:
{“温度”:60}
{“压力”:30}
我想将传入的数据编译成一个对象,即 {“温度”:60,“压力”:30} ,然后再将其发送到PublishMQTT处理器。
此外,如果在发送消息之前进入了具有相同属性的新鲜数据,则应在同一对象中更新属性,而不是排队。例如,如果输入新数据 {“压力”:150} ,则输出对象应先更新为 {“温度”:60,“压力”:150} 。通过MQTT发送出去
我猜我将需要一个处理器(请参阅附件中的蓝色圆圈),但是我不确定哪个处理器可以执行我所描述的操作。
答案 0 :(得分:2)
实际上没有提供可以执行此操作的处理器,因为它需要一些数据知识。您将必须实现自定义处理器或使用ExecuteScript。
答案 1 :(得分:0)
您可以使用wait-notify来使流文件等待另一个,如本例所示:
请注意,该链接只是一个示例,您的用例有所不同,必须根据您的要求进行更改。
然后,您可以将信息合并到一个流文件中,并使用EL生成新的json值。