我意识到,正如他们的文档所定义的那样,NiFi "生产中会持续改进".因此,这不适合用作传统的开发工具.然而,对于我正在研究的项目,已经决定这是我们将要使用的工具,所以我宁愿不讨论这个的优点,因为我意识到会有一些问题.
例如,如果我将更改推送到现有环境(从登台到生产)并且目标中有实时编辑,它们将被覆盖.所以我对如何组织开发生命周期有疑问.
有没有一种简单的编程方法可以在 Windows 上关闭 NiFi?“手动”方式有效,在命令窗口中运行并按 ctr-c 退出,但我正在尝试自动化测试环境。我可以在 Linux 上使用 nifi.sh 脚本,并且在谷歌搜索时看到了对关闭 bat 脚本的引用,但我使用的是 0.6.1,但它不在该版本中。
我使用 netstat 根据 API 端口号查找 PID,然后终止该进程。但似乎总是有两个进程,一个进程会重新启动另一个进程。所以我用 Bootstrap 端口做了同样的事情,用它来查找进程的 PID,然后也杀死了该进程。但这并不总是可靠的。
使用NiFi v0.6.1有没有办法导入备份/存档?
通过备份,我指的是POST /controller/archive使用REST API或"控制器设置"(工具栏按钮)然后"备份流程"(链接)调用时生成的文件
.
我尝试解压缩备份并将其作为模板导入,但这不起作用.但在将其与导出的模板文件进行比较后,格式相当不同.但也许有一种方法可以将其转换为模板?
目前我当前的工作是不选择顶级流程上的任何组件,然后选择"创建模板"; 这将添加一个模板与我的所有组件.然后我只是导出它.我的问题是通过REST API自动化有点棘手.我使用Fiddler来确定UI正在做什么,它首先生成一个包含所有组件(标签,处理器,连接等)的代码片段.然后它POST /nifi-api/contorller/templates使用代码段ID 调用create template().因此,模板调用很容易,但生成片段的定义将需要一些工作.
注意:一旦实现了以下功能请求,我假设我只是使用它:
https://cwiki.apache.org/confluence/display/NIFI/Configuration+Management+of+Flows