使用flowfile size作为RouteOnAttribute nifi中的参数

时间:2017-08-24 06:40:25

标签: apache-nifi

我想知道是否可以在routeOnAttribute中使用flowfile size作为参数,我希望像这样表达:

${filename.fileSize>500}

但它告诉我表达式应该返回true并且我的表达式返回字符串我该怎么做才能在routeOnAttribute中建立新的连接(p.s filename是我的流文件名)

编辑05/17/2019 正确答案是安迪的。这是我们(Apache NiFi团队)关于这个主题的最佳指导。标记为“正确”的答案仅适用于上游处理器设置Content-Length的少数情况。安迪的解决方案fileSize普遍适用。

2 个答案:

答案 0 :(得分:8)

您的表达式在逻辑上是正确的,但不使用有效的Apache NiFi语法。它应该使用gt函数,如下所示:

${fileSize:gt(500)}

这将返回boolean结果。

答案 1 :(得分:-1)

检查flowfile中存在的空响应的两种方法。

1.使用Content-Length属性 - > ${Content-Length}

2.使用Extract Text处理器提取属性中的整个内容。

flow_content--(.*)

然后检查${flow_content:isEmpty():not()}

这可能对您的情况有所帮助。