如何在Nifi中实现If-ElseIf-Else条件

时间:2017-02-20 21:13:02

标签: apache-nifi

在NiFi中,
我有一个JSON数据,我使用SplitJson和EvaluateJson将Json数据的必需组件存储在我自己的变量中。

如何在Json数据值上实现if-elseif-else条件?

例如,如果attributeA == 0,则relationship = pass,else fail,依此类推。

2 个答案:

答案 0 :(得分:6)

您将使用具有动态属性的RouteOnAttribute处理器,根据提供的属性评估NiFi Expression Language。以下是有关boolean operationsevaluating multiple attributes的文档部分。

答案 1 :(得分:2)

如果您想实现If-ElseIf-Else条件,可以这样做:

${
LogData:jsonPath('$.email'):equals('DEV'):not():ifElse(
    ${LogData:jsonPath('$.email'):equals('QA'):ifElse(
        'aa',
        'bb'
    )},
    'cc'
)}

请注意,使用此方法可以根据需要创建嵌套条件,但如果需要进行一些路由,最好使用RouteOnAttribute处理器,如@andy所说。