在 RouteOnAttribute nifi 中使用流文件大小作为参数

Using flowfile size as an argument in RouteOnAttribute nifi

我想知道是否可以在 routeOnAttribute 中使用流文件大小作为参数我想这样表达:

${filename.fileSize>500}

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

编辑 05/17/2019 正确答案是安迪的。这是我们(Apache NiFi 团队)关于该主题的最佳指导。标记为 "correct" 的答案仅适用于 Content-Length 由上游处理器设置的少数情况。 Andy的方案,fileSize是放之四海而皆准的

检查流文件中是否存在空响应的两种方法。

1.Using Content-Length 属性-->${Content-Length}

2.Using 提取文本处理器以提取属性中的全部内容。

flow_content--(.*)

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

这可能对您的案例有所帮助。

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

${fileSize:gt(500)}

这将 return 一个 boolean 结果。

在 RouteOnAttribute 上,您可以配置一个属性,当流文件内容达到一定大小时,该属性的值为真。