Http 作为 Nifi 的来源 - 没有按预期工作

Http as a source for Nifi - not working as expected

我正在尝试通过邮递员发送一个文件,其中包含一个 POST 请求,该文件需要保存在本地 FS 中。我尝试了所有 4 个选项 GetHttp,InvokeHttp,ListenHttp,HandleHttpRequest。似乎 GetHttp,InvokeHttp 要求 Web 服务在发送 POST 请求的最后是 运行,这不适合我们的案例用例。我尝试使用 ListenHttp 但我无法更改它指向本地主机的默认主机名选项。有没有办法改变它?

而且我也尝试使用HandleHttpRequest,似乎接收请求的客户端应该发送确认以在发送方结束连接,nifi 用户指南没有提供示例关于如何使用或配置它。有人可以为我提到的用例提供一个示例吗?

ListenHttp 启动嵌入式 Jetty 服务器,它在创建连接器时没有指定主机名,根据 Jetty 文档,它应该绑定到所有可用的网络接口:

"The network interface this connector binds to as an IP address or a hostname. If null or 0.0.0.0, then bind to all interfaces."

要使用 HandleHttpRequest,您还需要使用 HandleHttpResponse...您基本上会收到来自客户端的请求,该请求会变成流文件,通过您想要执行的任何处理传递流文件,然后将其发送到 HandleHttpResponse回复客户。这里有一个模板展示了如何使用它:

https://cwiki.apache.org/confluence/download/attachments/57904847/Hello_NiFi_Web_Service.xml?version=1&modificationDate=1449369797000&api=v2