【问题标题】:Is it possible to get the ID of a processor/connector in apache NiFi using the rest API?是否可以使用其余 API 在 apache NiFi 中获取处理器/连接器的 ID?
【发布时间】:2017-04-05 06:46:11
【问题描述】:

我正在探索 NiFi 提供的其他 API 功能。我有一个问题:我们可以通过查询组件名称使用NiFi-API获取组件的ID,无论是处理器,处理器组,控制器服务等吗?

我试过 http://localhost:8080/nifi-api/flow/search-results?q=sample 我的 NiFi Flow 中有一个名为 sample 的处理器组。

我有一个名为sample get fileGetFile 处理器,我对此进行了查询:http://localhost:8080/nifi-api/controller/search-results/q='sample get file'。它们似乎都不起作用。 NiFi-API 文档在这些方面不是很有帮助。所以请指导我如何实现这一目标。

【问题讨论】:

    标签: rest apache-nifi


    【解决方案1】:

    圣诞老人,

    如果您想获取处理器的 ID,您必须知道处理器的进程组 ID。

    这里我有一个简单的例子,它在根目录中获取处理器的 id。

    http://localhost:8080/nifi-api/controller/process-groups/root/processors

    以上代码适用于 nifi-0.6.1。

    EDIT1

    在 NiFi-1.1.1 中

    你必须使用下面的rest api来收集处理器

    进程组 ID:515eeb84-646b-4b33-eaf7-2028420a9fcb

    http://localhost:8089/nifi-api/process-groups/515eeb84-646b-4b33-eaf7-2028420a9fcb/processors

    以上 API 收集提到的进程组 ID 中的处理器数量。

    [或]

    进程组 id:root

    http://localhost:8089/nifi-api/process-groups/root/processors

    它收集 Root Canvas 中可用处理器的数量。

    因此,如果您知道哪个处理器所在的进程组的 ID,那么很容易获得处理器 ID。

    【讨论】:

    • 刚刚试过。它很有用。我还尝试给出处理器组名称而不是 root,并且还尝试了该处理器组的 id。他们都没有工作。顺便说一句,我的 NiFi 是最新的,它使用 NiFi-API 1.10。
    • 是的。已经了解文档本身的新变化。想在这里更新它,但你已经发布了。谢谢。
    • UI 专门使用 REST API 来管理数据流。如果您在浏览器中打开开发工具,您应该能够看到所有正在执行的请求。
    • 很好,另外可以在进程组中找到进程组并递归查找所有处理器:{{nifi_server_url}}/process-groups/root/process-groups
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 2018-10-31
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    相关资源
    最近更新 更多