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

标签 apache-nifi

我有以下两种情况,对于每种情况,我都需要建议使用哪种 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 应该接受来自外部运行的应用程序的请求并处理该请求。

最佳答案

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

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

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

话虽如此,对于第二个场景,如果您的目标是使用 NiFi 统计数据,您可以直接访问 NiFi 的 REST API,而不是拥有具有 Web 服务功能的单独 NiFi 流。

有用的链接

关于apache-nifi - NiFi getHTTP 或 invokeHTTP 使用哪个处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54021142/

相关文章:

hortonworks-data-platform - 如果表具有日期时间偏移值,ExecuteSQL 不会选择表?

apache - 按列的值拆分 csv 文件 - Apache Nifi

apache-nifi - 我们如何安排nifi数据流?我正在使用HDP 2.5

hadoop - Apache NiFi/Hive-将合并的推文存储在HDFS中,在Hive中创建表

apache-nifi - 在 Apache Nifi 的同一处理器中使用派生属性

java - 带有 Youtube 数据 API 的 Apache Nifi

http - NiFi中的重试和失败队列优先级

apache-nifi - 如何一次清空Nifi中的所有队列?

java - OkHttp 是否在重定向时发送授权和其他可能敏感的 header ?

java - NoClassDefFound错误: org/apache/nifi/registry/VariableRegistry while running nifi test cases