我有一个Java程序,旨在处理充满数据的目录,并将其作为参数传递给JAR。
input_dir/
file1
file2
如何告诉NiFi将目录作为参数传递给ExecuteStreamCommand而不是单独的FlowFile?
是否可以将目录建模为FlowFile?
我试图在父目录input_dir
的ExecuteStreamCommand之前使用GetFile来获取ìnput_dir`,因此它将被传递给流命令。
这没有用,因为当“递归子目录”属性设置为true时,GetFile会爬网所有目录以查找实际文件。
设置为false时,GetFile不会获取任何文件。
总而言之,我想找到一种将包含数据的目录传递给ExecuteStreamCommand的方法,而不仅仅是一个FlowFile。
希望如此,谢谢您的建议。
答案 0 :(得分:1)
流文件不必是磁盘上的文件,它可以是任何文件。如果我对您的理解正确,则只需要一个流文件即可触发ExecuteStreamCommand。您应该能够使用GenerateFlowFile做到这一点(适当设置调度策略)。您可以将目录直接放入ExecuteStreamCommand中,或者如果希望使其更具动态性,则可以将其添加为GenerateFlowFile中的流文件属性,然后在ExecuteStreamCommand中像$ {my.dir}一样引用它(假定您将其命名为my.dir)。在GenerateFlowFile中)。