能否配置NiFi ExecuteSQL处理器执行后放行原FlowFile?
关于NiFi ExecuteSQL处理器调用存储过程并保留原FlowFile的配置方法
完全可以实现这个需求,只需要调整ExecuteSQL处理器的几个关键配置项,具体操作如下:
核心参数配置
- 在
SQL Statement中填入存储过程调用语句,比如CALL your_procedure_name(${param_attribute})(参数可通过FlowFile属性动态获取,根据实际场景调整) - 将
Output Format设置为None,这样处理器不会生成包含存储过程执行结果的新FlowFile - 清空
Attribute Name for Query Result字段,避免处理器给FlowFile添加多余的结果属性
- 在
路由规则配置
- 找到
Route Original Flow File选项,设置为true,这个配置会让进入处理器的原FlowFile通过original关系路由出去 - 后续只需要连接处理器的
original关系到下一个组件,原FlowFile就会带着原有内容和属性直接流转,存储过程的执行则在后台完成
- 找到
注意:如果存储过程需要传入参数,直接在SQL语句里用NiFi的属性占位符${xxx}引用FlowFile的对应属性即可;如果存储过程本身有输出参数但你不需要获取,上述配置也能正常执行存储过程且不影响原FlowFile的流转。
内容的提问来源于stack exchange,提问作者Damian Graczyk
相关产品推荐
相关产品推荐

