我想列出我所有的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>
答案 0 :(得分:0)
您可以使用Python和NiPyAPI来recurse through the flow并获取所有处理器,然后在ListenHttp处理器上进行过滤。您还可以使用NiPyAPI启动所需的流程,这是一个非常方便的工具。