首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NiFi ListenHTTP处理器:如何指定“允许发布”?

NiFi ListenHTTP处理器:如何指定“允许发布”?
EN

Stack Overflow用户
提问于 2016-08-22 17:29:23
回答 3查看 5.7K关注 0票数 2

刚开始使用nifi。让一个"ListenHTTP“类型的http处理器侦听没有端口9090需要允许http://localhost:9090/端点上的http POST -我无法在这个处理器的Web中找到任何”可接受的http谓词“设置,所以我的猜测是-它需要在某种配置文件中指定。我的问题是:该文件是什么,具体具体的语法是什么?我已经在网上看到了一些xml模板,但我不知道该放在哪里。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-22 18:13:00

默认情况下,如果未指定其他基本名称,则ListenHTTP处理器的端点可在以下位置使用:

代码语言:javascript
运行
复制
http://{hostname}:{port}/contentListener

因此,对于默认设置,您的请求应该是:

代码语言:javascript
运行
复制
curl --data "param1=value1&param2=value2" localhost:9090/contentListener

处理器上的完整文档可以在ListenHTTP或如果该链接中断时通过Nifi文档页面获得。

或者,如果您希望将端点限制在特定的动词上,请考虑HandleHttpRequestHandleHttpResponse的组合。

票数 8
EN

Stack Overflow用户

发布于 2016-08-22 17:51:08

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

票数 1
EN

Stack Overflow用户

发布于 2018-05-30 11:48:09

ListenHTTP处理器..。

..。启动HTTP并侦听给定的基本路径,将传入的请求转换为FlowFiles。服务的默认URI将是http://{hostname}:{port}/contentListener。只支持头请求和职位请求。GET、PUT和DELETE将导致错误和HTTP响应状态代码405。 -- Nifi文档,ListenHTTP 1.6.0

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

下面的示例工作正常,并且作为一个额外的奖励,它显示了如何包含一个将在结果流文件上设置属性的头。请记住,您需要在处理器配置中设置可选的 Headers作为属性(Regex)属性。

代码语言:javascript
运行
复制
[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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39085439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档