如何最好地构造复杂的nifi路由

30byixjq  于 2021-06-05  发布在  Kafka
关注(0)|答案(1)|浏览(376)

说到nifi,我是个彻头彻尾的傻瓜——所以请随意强调任何愚蠢/无知。
我在用nifi阅读Kafka主题的信息。
每个消息都包含json,其中包含一个名为function的字段,然后是一大堆基于函数的不同字段。例如,如果function=“login”,则需要用户名和密码字段,但如果function=“pay”,则需要“from”、“to”和“amount”字段。
我需要以不同的方式处理每种类型的函数。所以,基本上,我想阅读Kafka的信息,确定函数,然后根据函数将信息路由到适当的规则集。
听起来这应该很简单,但有一点复杂。我有大约500种不同类型的函数。所以,我不想为每个函数添加routeonattribute节点。
有没有更好的办法?如果这是“真正的代码”,我想我是在寻找“if”语句和某种“switch/case”语句之间的区别。。。。

lc8prwob

lc8prwob1#

首先使用evaluatejsonpath将函数提取到一个流文件属性中,然后使用routeonattribute,该属性需要添加500个条件,然后将这500个条件中的每一个连接到任何需要后续处理的地方。您唯一能做的另一件事是实现一个自定义处理器,在内部处理500个条件。

相关问题