NiFi运行时通过UpdateAttribute重置计数器实现SFTP分目录
在NiFi的UpdateAttribute中实现counter到5时重置为0
完全可以实现,不用额外添加处理器,直接借助NiFi的表达式语言(EL)就能搞定。
假设你之前在UpdateAttribute里是用${counter:plus(1)}来递增counter,现在把这个表达式替换成:
${counter:plus(1):mod(5)}
原理很直白:mod(5)会对递增后的数值取模5。当counter到4时,加1变成5,取模5的结果就是0,刚好实现"达到5就重置为0"的效果,之后会从0开始重新递增。
如果担心部分FlowFile可能没有初始的counter属性,可以再加个空值判断来设置默认值,避免异常:
${counter:isEmpty():ifElse(0, ${counter:plus(1):mod(5)})}
这样配置后,你的PutSFTP组件无需修改,/input_data/${counter}会自动循环指向0到4这几个目录,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者user3472
相关产品推荐
相关产品推荐

