使用 RouteOnAttribute 时出现问题(无法读取 json 属性并始终发送流以取消匹配)
problem while using RouteOnAttribute (cannot read json attribute and always sends flow to unmatch)
在使用 RouteOnAttribute
nifi 处理器时,我输入了 json
数据
[{"dev":"xyz","detail":"abc"}]
我从 convertRecord 处理器
路由策略:路由到 属性 名称
如果匹配:${dev:equals( "xyz" )}
我在单引号和双引号中都尝试了 ${dev:matches( "xyz")}
仍然没有将流文件重定向到 "ifmatch" 。它重定向到无与伦比的
有没有办法解决这个问题我尝试了很多其他的选择
流文件内容不同于属性。内容是任意的——可以是空的、文本、[=34= 的 KB]、GB 的视频或二进制文件。每个流文件还具有 属性 ,它们是 key/value 对 String
保存在内存中。
如果你想在这条数据上进行路由,你有多种选择:
- 使用
RouteOnText
或RouteOnContent
直接使用实际流文件内容。
- 使用
EvaluateJsonPath
将其提取到一个属性,然后在该属性上进行路由。
Apache NiFi User Guide and In-Depth 提供了有关此区别的更多信息。
在使用 RouteOnAttribute
nifi 处理器时,我输入了 json
数据
[{"dev":"xyz","detail":"abc"}]
我从 convertRecord 处理器
路由策略:路由到 属性 名称
如果匹配:${dev:equals( "xyz" )}
我在单引号和双引号中都尝试了 ${dev:matches( "xyz")}
仍然没有将流文件重定向到 "ifmatch" 。它重定向到无与伦比的
有没有办法解决这个问题我尝试了很多其他的选择
流文件内容不同于属性。内容是任意的——可以是空的、文本、[=34= 的 KB]、GB 的视频或二进制文件。每个流文件还具有 属性 ,它们是 key/value 对 String
保存在内存中。
如果你想在这条数据上进行路由,你有多种选择:
- 使用
RouteOnText
或RouteOnContent
直接使用实际流文件内容。 - 使用
EvaluateJsonPath
将其提取到一个属性,然后在该属性上进行路由。
Apache NiFi User Guide and In-Depth 提供了有关此区别的更多信息。