在 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 上,您可以配置一个属性,当流文件内容达到一定大小时,该属性的值为真。
我想知道是否可以在 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 上,您可以配置一个属性,当流文件内容达到一定大小时,该属性的值为真。