我在nifi属性中使用了与curl一起工作的full insert命令:
echo "INSERT INTO default.PERFTEST_BUFFER VALUES (1, '2020-04-09 19:06:02', 48.8644, 'A')" \
| curl 'http://xxx.xxx.xxx.xxx:8123/?' --data-binary @-
插入属性:
INSERT INTO default.PERFTEST_BUFFER
VALUES (1, '2020-04-09 19:06:02', 48.8644, 'A')
我不知道invokehttp处理器的所有参数应该是什么。
我用过前两种方法:
POST
http://xxx.xxx.xxx.xxx:8123/
那我就迷路了。你知道怎么配置吗?
2条答案
按热度按时间2fjabf4q1#
如果查询是静态的,则可以以编码格式在查询字符串中传递它:
它只需要将所需的值传递给两个参数:http方法和invokehttp处理器的远程url。
l2osamch2#
多亏了达Git和这里的例子,我才得以成功:
https://github.com/zezutom/nifibyexample
在invokehttp之前使用一个processor replacetext,用具有完整insert命令的变量“insert”值替换flowfile内容
搜索值(?s)(^.*$)
重置值${insert}
所以流文件的内容是
然后由一个处理器调用以下参数
http方法发布
远程urlhttp://...:8123/
ssl上下文服务未设置值
连接超时5秒
读取超时15秒
包含日期标题为真
跟随重定向为真
不发送值集的属性
基本身份验证用户名未设置值
基本身份验证密码未设置值
代理配置服务未设置值
代理主机未设置值
代理端口未设置值
代理类型http
代理用户名未设置值
代理密码未设置值
将响应主体放入属性no value set中
要放入属性256的最大长度
使用摘要身份验证错误
始终输出响应true
将响应头添加到请求false
内容类型${mime.type}
发送消息正文为真
使用分块编码错误
惩罚“不重试”错误
使用http etag false
最大etag缓存大小为10mb