1、上一节课我们讲解了nifi处理器UpdateAttribute,专门用来更新flowFile的属性字段。本节课我们一起来学习UpdateRecord,该处理器用来更新flowFile的流文件内容数据,如下图所示
本节教程比较简单,涉及处理器流程如下
使用处理器GenerateFlowFile生成测试数据{"name":"Javax 小金刚","id":"2"}。
使用处理器UpdateRecord更新流文件内容中字段值。
使用处理器LogMessage打印日志。
2、处理器UPdateRecord属性配置,如下图所示:
**Record Reader:**指定要用于读取传入数据的控制器服务,根据情况选择合适的控制器服务,这里由于输入数据是json格式,所以选择JsonTreeReader进行加载数据。
**Record Writer:**指定要用于写出记录的控制器服务,根据情况选择合适的控制器服务,这里由于输出数据是json格式,所以选择JsonRecordSetWrite进行输出数据,当然也可以选取其他控制器服务。
**Replacement Value Strategy:**解释如何解释配置的替换值,有两个选项Literal Value和Record Path Value 。
**Literal Value:**是指直接指定的固定数值或字符串。例如,如果你想name字段的值改为固定的"Java大金刚",你可以在Literal Value中写入这个值,如上图所示。
查看溯源信息如下:
点击Input Cliaim中的view 查看输入原始数据,如下图所示:
点击Output Cliaim中的view 查看输出数据,此时name值已经发生了改变,如下图所示:
**Record Path Value:**Value字段的值设置为record path,如下图所示:
点击Output Cliaim中的view 查看输出数据,此时newName字段已经被正确赋值,如下图所示:
还有一些其他的用法,如下图所示: