Apache nifi ListSFTP 获取文件形成一个 SFTP 位置,名称中有今天的日期

Apache nifi ListSFTP fetch files form a SFTP location that have todays date in the name

我想每天从 SFTP 位置动态读取文件,例如基于文件名中的日期。我正在使用 ListSFTP 的文件过滤器正则表达式来仅匹配那些具有今天日期的文件,

比如今天的文件是data_04142021.csv,明天就是data_04152021.csv

我可以使用哪个文件过滤器正则表达式来做到这一点?

我一直在尝试 ^data_[${now():format('MMddyyyy')}].* 但没有成功。

如有任何帮助,我们将不胜感激。

您应该同时使用 ListSFTPFetchSFTP。首先列出目录下的文件,用RouteOnAttribute过滤出今天的文件,最后得到文件的内容。我在示例中使用 ListFileFetchFile,但方法是相同的。

您可以像这样在 RouteOnAttribute 上添加路线

 ${filename:contains(${now():format('MMddyyyy')})}