如何在NiFi中使用GetFTP处理器配置正则规则拉取上一小时文件
NiFi GetFTP 处理器匹配上一小时文件的过滤规则实现
正则本身不支持动态获取系统时间计算,需结合 NiFi 内置表达式语言动态生成匹配规则,具体操作如下:
正式环境动态配置方案
- 打开 GetFTP 处理器配置界面,定位到 File Filter Regex 配置项
- 直接填入以下规则:
file-${now:toDate():minusHours(1):format("HH")}\.log
规则说明
${now:toDate():minusHours(1):format("HH")}会自动计算上一小时的两位小时值:当前时间为10:00时输出09,当前时间为00:10时输出23,自动兼容跨天场景- 正则中对后缀的
.做了转义处理,避免被识别为通配符匹配任意字符 - 需保证 NiFi 运行节点时区与 FTP 服务器时区一致,避免时间偏差导致匹配错误
临时测试固定规则示例
仅需临时匹配特定小时文件时,可直接写死小时值,比如10点匹配9点文件的规则为:file-09\.log
内容的提问来源于stack exchange,提问作者Vijju
相关产品推荐
相关产品推荐

