我有一个由电子邮件触发的NiFi流。问题是ListFile和GetFile处理器不是从外部启动的。
我需要什么:
我有一些文件:
context variable #{folder_to_read} = /home/input
#{folder_to_read}/MyBranches_2023-10-22_225510.csv
#{folder_to_read}/MyAccounts_2023-10-22_225510.csv
#{folder_to_read}/MyOrders/USAOrders_2023-10-22_215510.csv
#{folder_to_read}/MyOrders/EUAOrders_2023-10-22_215610.csv
...
字符串
我需要:
- 接收信件并启动流文件(由ConsumeEWS处理器完成)
- 在输入文件夹中通过
MyBranches_$(now():format('yyyy-MM_dd'))_*.csv
等模式检查并读取文件 - 操作文件中的数据(文件)。
问题是我找不到如何在一个管道中完成它。ListFile和GetFile处理器不能通过电子邮件发送,fenchfile不接受常规模式。
你能分享一下如何在NiFi中做到这一点吗?也许可以通过ExecuteScript处理器+ python/groovy来做到这一点?
1条答案
按热度按时间p4tfgftt1#
下面的答案提供了groovy,只要问题所有者也接受这种语言。
我假设传入的flowfile看起来像这样:
字符串
使用
GroovyExecuteScript
处理器,添加base_path
参数,指向一个文件夹,其中包含您要读取的文件,并将脚本主体设置为:型