2016-03-17 109 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