Apache nifi NiFi ListenHTTP处理器:如何指定;允许发布“;?

Apache nifi NiFi ListenHTTP处理器:如何指定;允许发布“;?,apache-nifi,Apache Nifi,刚刚开始学习nifi。 有一个类型为“ListenHTTP”的http处理器,监听端口号为9090 需要在端点上允许http POST 我在这个处理器的Web UI中找不到任何“可接受的http谓词”设置,所以我猜-它需要在某种配置文件中指定。 我的问题是:那将是什么文件,指定它的实际语法是什么? 我在网上看到了一些xml模板,但我不确定放在哪里。我相信默认情况下它会接受所有动词。我在端口9090上配置了一个空的“基本路径”属性ListenHttp,并且能够使用curl成功地向其发布数据。您遇到

刚刚开始学习nifi。 有一个类型为“ListenHTTP”的http处理器,监听端口号为9090 需要在端点上允许http POST 我在这个处理器的Web UI中找不到任何“可接受的http谓词”设置,所以我猜-它需要在某种配置文件中指定。 我的问题是:那将是什么文件,指定它的实际语法是什么?
我在网上看到了一些xml模板,但我不确定放在哪里。

我相信默认情况下它会接受所有动词。我在端口9090上配置了一个空的“基本路径”属性ListenHttp,并且能够使用curl成功地向其发布数据。您遇到了什么类型的问题?

默认情况下,如果未指定其他基本名称,则ListenHTTP处理器的终结点位于:

http://{hostname}:{port}/contentListener
因此,对于默认设置,您的请求应为:

curl --data "param1=value1&param2=value2" localhost:9090/contentListener
处理器上的完整文档可在或如果链接断开,则可通过页面获取


或者,如果你想限制你的端点到特定动词,请考虑组合和

< P> <强> ListHntPp <强>处理器…/P> 。。。启动HTTP服务器并侦听给定的基本路径以进行转换 传入请求到流文件中。服务的默认URI将 是http://{hostname}:{port}/contentListener。只有头和柱子 支持请求。获取、放置和删除将导致错误 以及HTTP响应状态代码405

--

我已经能够使用PowerShell和
调用WebRequest
发布到Nifi,但需要指定
-ContentType:“application/x-www-form-urlencoded”
。此内容类型在@apiri的应答中的
curl
命令中隐式设置

下面的示例很有效,作为额外的奖励,它显示了如何在结果流文件中包含一个将设置属性的头。请记住,您需要在处理器配置中设置可选的HTTP头以接收为属性(Regex)属性

[PS] $HttpPost = @{
    Uri = "http://{hostname}:{port}/contentListener"
    Method = "POST"
    ContentType = "application/x-www-form-urlencoded"
    Headers = @{MyAttribute = "SomeValue"}
}

[PS] $Body = Get-Content <some_file> -Raw

[PS] Invoke-WebRequest @HttpPOST -Body:$Body

VERBOSE: POST http://{hostname}:{port}/contentListener with -1-byte payload
VERBOSE: received 0-byte response of content type text/plain

StatusCode        : 200
StatusDescription : OK
[PS]$HttpPost=@{
Uri=“http://{hostname}:{port}/contentListener”
Method=“POST”
ContentType=“应用程序/x-www-form-urlencoded”
Headers=@{MyAttribute=“SomeValue”}
}
[PS]$Body=获取内容-原始
[PS]调用WebRequest@HttpPOST-Body:$Body
详细:使用-1字节负载发布http://{hostname}:{port}/contentListener
详细:收到内容类型为text/plain的0字节响应
状态代码:200
状态描述:OK

curl--data“param1=value1¶m2=value2”错误405 HTTP错误:405访问问题/。原因:此URL不支持HTTP方法POST


Jetty://9.3.9。v20160517
您使用的是什么版本的NiFi?Apache NiFi v 1.0.0 POST返回:HTTP错误:405此URL不支持HTTP方法POST当URL结尾包含
时,我收到错误
方法不受支持
。。。