2016-03-17 86 views
1

有没有在循环(在特定的flowfile内容上)执行处理器操作的选项?使用EvaluateXPath当示例 - 我要检查的foreach儿童: /父母/儿童/儿童[I] /电话[@值=“111”]Nifi是否具有循环功能?

回答

2

所有的关系能够被带回他们来自处理器只要该处理器支持传入连接。对于您的示例,您可以将“匹配”关系提供回同一个处理器,并再次评估您寻找的路径。这将继续,直到该表达式不再评估匹配。

2

您的JSON结构是否递归,或者您是否想遍历单个“子”数组?如果是后者,SplitJson处理器将为您的数组中的每个元素创建一个新的流文件,那么您可以使用EvaluateJsonPath为每个子项中的“Phone”获取值,然后使用RouteOnAttribute筛选值为111的值:

enter image description here

此模板(你给了JSON结构的简单版本)可作为要点(here)。注意它需要NiFi 0.5.0+用于InvokeScriptedProcessor(它生成示例JSON文件)

+0

感谢mattyb!我从你的例子中学到了很多东西(特别是关于模板和'invokeScriptedProcessor') – hilaviz