Gal*_*hak 1 curl get http couchbase apache-nifi
我需要执行从 nifi 到 couchbase 的获取请求。curl 命令是:
curl http://HOST:PORT/query/service -d "statement=select item.Date from bucket unnest bucket as item" -u USER:PASSWORD
Run Code Online (Sandbox Code Playgroud)
我尝试使用 InvokeHttp 和 ExecuteStreamCommand 但它一直返回错误(状态代码 400)。完整的错误信息是:
{ "requestID": "bff62c0b-36fd-401d-bca0-0959e0944323", "errors": [{"code":1050,"msg":"No statement or Prepared value"}], "status": "fatal" , "metrics": {"elapsedTime": "113.31µs","executionTime": "74.321µs","resultCount": 0,"resultSize": 0,"errorCount": 1
重要的是,我更喜欢 http 请求将由传入的流文件触发。我尝试以各种方式使用处理器,但没有一个有效。当我从 nifi 服务器运行命令时,它工作正常。
谢谢您的帮助
-dcurl 实用程序的参数强制 HTTPPOST命令
和application/x-www-form-urlencoded哑剧类型。
所以,在nifi中InvokeHTTP选择以下参数
HTTP Method = POST
Remote URL = <your url here>
Basic Authentication Username = <username>
Basic Authentication Password = <password>
Content-Type = application/x-www-form-urlencoded
Run Code Online (Sandbox Code Playgroud)
流文件的主体应该是
statement=select item.Date from bucket unnest bucket as item
Run Code Online (Sandbox Code Playgroud)