apache-nifi - 将目录作为参数传递给 ExecuteStreamCommand
问题描述
我有一个 Java 程序,旨在处理一个充满数据的目录,作为参数传递给 JAR。
input_dir/
file1
file2
如何告诉 NiFi 将目录作为参数而不是单个 FlowFile 传递给 ExecuteStreamCommand?
有没有办法将目录建模为 FlowFile ?
我试图在父目录上的 ExecuteStreamCommand 之前使用 GetFileinput_dir
以获得“输入目录”,因此它将被传递给流命令。
它不起作用,因为当“递归子目录”属性设置为 true 时,GetFile 只会爬取所有目录以查找实际文件。
当设置为 false 时,GetFile 不会获取任何文件。
总而言之,我想找到一种方法将包含数据的目录传递给 ExecuteStreamCommand,而不仅仅是单个 FlowFile。
希望有道理,谢谢你的建议。
解决方案
流文件不一定是来自磁盘的文件,它可以是任何东西。如果我对您的理解正确,您只需要一个流文件来触发您的 ExecuteStreamCommand。您应该能够使用 GenerateFlowFile 执行此操作(适当地设置调度策略)。您可以将目录直接放入 ExecuteStreamCommand 中,或者如果您希望它更具动态性,可以将其作为流文件属性添加到 GenerateFlowFile 中,然后在 ExecuteStreamCommand 中引用它,如 ${my.dir}(假设您将其命名为 my.dir在生成流文件中)。
推荐阅读
- terraform - 使用 Terraform 在 EC2 Windows 实例中初始化 EBS 卷
- jquery - 数据表保存手动输入的值
- google-cloud-platform - 如何为 Visual Studio ion Visual Studio 2019 社区安装谷歌云工具?
- angular - 在 form.reset 之后使用默认输入重新填充表单控件
- python - 合并连续列中相同变量的级别
- javascript - 如何仅在文件上传并检查条款和条件时才激活按钮?
- kotlin - 成员函数和属性的区别
- php - 如何在 laravel 中公开访问变量
- reactjs - React App 上传到 Github 时显示空白页面,使用 npm run deploy 方法
- python - 如何在 Python 中保存灰度图像?