使用 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 保存在内存中。

如果你想在这条数据上进行路由,你有多种选择:

  1. 使用RouteOnTextRouteOnContent直接使用实际流文件内容。
  2. 使用 EvaluateJsonPath 将其提取到一个属性,然后在该属性上进行路由。

Apache NiFi User Guide and In-Depth 提供了有关此区别的更多信息。