我想知道是否可以在routeOnAttribute中使用flowfile size作为参数,我希望像这样表达:
${filename.fileSize>500}
但它告诉我表达式应该返回true并且我的表达式返回字符串我该怎么做才能在routeOnAttribute中建立新的连接(p.s filename是我的流文件名)
编辑05/17/2019 正确答案是安迪的。这是我们(Apache NiFi团队)关于这个主题的最佳指导。标记为“正确”的答案仅适用于上游处理器设置Content-Length
的少数情况。安迪的解决方案fileSize
普遍适用。
答案 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()}
这可能对您的情况有所帮助。