我需要执行从nifi到沙发床的获取请求。 curl命令为:
int Query::Blob(int index, const void* blob, int blob_size, void (*memory_management)(void *)){
return sqlite3_bind_blob(stmt, index, blobl, blob_size, memory_management);
}
我尝试使用InvokeHttp和ExecuteStreamCommand,但它一直返回错误(状态码400)。完整的错误消息是:
{“ requestID”:“ bff62c0b-36fd-401d-bca0-0959e0944323”,“错误”: [{“ code”:1050,“ msg”:“无声明或预设值”}],“ status”: “致命”,“度量”:{“ elapsedTime”:“ 113.31µs”,“ executionTime”: “ 74.321µs”,“ resultCount”:0,“ resultSize”:0,“ errorCount”:1
重要的是,我希望http请求将由传入的流文件触发。我尝试以各种方式使用处理器,但是没有一种可以使用。 当我从nifi服务器运行命令时,它运行正常。
感谢您的帮助
答案 0 :(得分:3)
curl实用程序的-d
参数强制执行HTTP POST
命令
和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
并且流文件的正文应为
statement=select item.Date from bucket unnest bucket as item
答案 1 :(得分:1)
我不知道nifi,但是基于错误消息,请求的“ statement =“部分未包含在内,或者您未将请求作为POST命令发送。