Nifi:如何基于filefilter获取流文件

时间:2017-11-03 08:44:34

标签: apache-nifi

我想获得具有此类a++;过滤器的流量文件 但是这个例子对我来说不起作用我应该改变什么来使这个任务有效?(p.s你能给我更好的解释,通过过滤器获得会话)

1 个答案:

答案 0 :(得分:0)

该版本的session.get()采用FlowFileFilter对象。在上面的代码中,您传递一个布尔值(如果在该点甚至定义了fileSize)。好消息是,由于FlowFileFilter接口只有一个方法,因此可以使用闭包强制来提供闭包作为FlowFileFilter对象。这是Groovy脚本仅接受大小为>的流文件的示例。 1:

import static org.apache.nifi.processor.FlowFileFilter.FlowFileFilterResult

def flowFiles = session.get({f -> 
   return f.size > 0 ? FlowFileFilterResult.ACCEPT_AND_CONTINUE 
          : FlowFileFilterResult.REJECT_AND_CONTINUE}
 as FlowFileFilter)

flowFiles?.each {session.transfer(it, REL_SUCCESS)}