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回复客户。这里有一个模板展示了如何使用它:
我正在尝试通过邮递员发送一个文件,其中包含一个 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回复客户。这里有一个模板展示了如何使用它: