NiFi getHTTP或invokeHTTP使用哪个处理器?

时间:2019-01-03 11:09:44

标签: apache-nifi

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

  1. 我在NiFi之外运行Restful Web服务。 NiFi希望通过调用特定的静态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应该接受来自外部运行的应用程序的请求并处理该请求。

1 个答案:

答案 0 :(得分:3)

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

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

  2. 对于场景2,您可以使用ListenHTTPHandleHttpRequest / HandleHttpResponse的组合。后者从字面上为您提供了更健壮的Web服务实现,而前者是一种简单的Web挂钩类型。我与ListenHTTP的合作不多,所以大概无法对此发表更多评论。

在第二种情况下,如果您的目标是消耗NiFi统计信息,则可以直接访问NiFi的rest api,而不是使用具有Web服务功能的单独NiFi流。

有用链接