【问题标题】:NiFi getHTTP or invokeHTTP which processor to use?NiFi getHTTP 或 invokeHTTP 使用哪个处理器?
【发布时间】:2019-01-03 11:09:44
【问题描述】:

我有以下两种情况,对于每种情况,我都需要推荐使用哪种 NiFi 处理器:

  1. 我在 NiFi 之外运行了 Restful Web 服务。 NiFi 想通过调用特定的 RESTful API 来获取/发布/删除/更新一些数据。一旦 Restful API 收到来自 NiFi 的请求,它就会将响应发送回 NiFi。这里使用哪个 NiFi 处理器?

  2. 在第二种情况下,我有一个在 NiFi 外部运行的应用程序。此应用程序有自己的 GUI。用户需要一些信息,所以他想向 NiFi 发送请求。在 NiFi 中,是否有任何处理器可以接受来自应用程序的请求、处理请求并发送回响应?

我实际上用 getHTTP 和 invokeHTTP 阅读了所有问题。

我最初尝试过使用 invokeHTTP 处理器。我使用invokeHTTP 尝试了get 和post 调用。但我没有看到在 NiFi 之外运行的 Restful API 有任何响应。

我没有尝试 getHTTP。

我正在使用 NiFi。 NiFi 没有代码。

我希望 NiFi 应该能够调用在外部运行的 Restful API。我希望 NiFi 应该接受来自外部运行的应用程序的请求并处理该请求。

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

    是的,NiFi 捆绑了可满足您的两个要求的处理器。

    1. 对于场景#1,您可以使用GetHTTP/PostHTTP 的组合,顾名思义,它们是分别进行GETPOST 调用的HTTP 客户端。但是,后来社区提出了InvokeHTTP,它提供了更多功能,例如支持 NiFi 表达式语言、支持传入流文件等,

    2. 对于场景 #2,您可以使用ListenHTTPHandleHttpRequest/HandleHttpResponse 的组合。后者实际上为您提供了更强大的 Web 服务实现,而前者是一种简单的网络挂钩。我与ListenHTTP 合作不多,因此可能无法对此发表更多评论。

    话虽如此,对于您的第二种情况,如果您的目标是使用 NiFi 统计信息,您可以直接点击 NiFi 的 rest api,而不是拥有一个单独的具有 Web 服务能力的 NiFi 流。

    有用的链接

    【讨论】:

    • 注意:GetHTTP 不允许传入关系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    相关资源
    最近更新 更多