nifi-api:列出所有处理器及其配置

时间:2019-11-21 09:44:23

标签: apache-nifi nifi-api

我想列出我所有的ListenHTTP处理器URL,以便选择并启动不同的流。

是否可以使用Nifi API查询列出所有处理器及其配置(在我的情况下,希望获取“基本路径”和“监听端口”)?

正在查找仅返回此信息的查询(而不是完整的处理器详细信息)。

我可以按名称获得单个处理器。

https://<IP-ADDRESS>:9443/nifi-api/flow/search-results?q=MyProcessor

然后从此结果中解析出处理器的ID。

使用id获取处理器的完整详细信息。

https://<IP-ADDRESS>:9443/nifi-api/processors/<PROCESSOR-ID>

但是随后我将不得不解析配置属性(并且必须对每个处理器重复一次)。

这似乎是解决问题的一种round回方式。

任何帮助将不胜感激。

谢谢

****编辑:

目前我能看到的最佳解决方案仍然是两步走法。

获取所有用于ListenHTTP的内容

https://<IP-ADDRESS>:9443/nifi-api/flow/search-results?q=ListenHTTP

这将返回多个Json数组,我们希望在这些数组中使用'processorResults'

(在Java中)对此进行解析以获取处理器名称和ID。

然后(如上所述)通过“ id”获取处理器并解析配置。

https://<IP-ADDRESS>:9443/nifi-api/processors/<PROCESSOR-ID>

1 个答案:

答案 0 :(得分:0)

您可以使用Python和NiPyAPI来recurse through the flow并获取所有处理器,然后在ListenHttp处理器上进行过滤。您还可以使用NiPyAPI启动所需的流程,这是一个非常方便的工具。