NiFi:将属性合并到流文件的JSON内容中(不会覆盖整个流文件)

时间:2018-11-07 21:59:55

标签: json apache-nifi

我有一个流程可以创建一些新的属性/内容。我想从流文件中获取一个属性,并将其添加到文件的JSON内容中。

我可以使用for ( j = 0; j < 20 && bands[i].members[j] != NULL; ++j ) printf ("\t%s", bands[i].members[j]); ,但这只会覆盖文件内容。

我的流程示例在这里:

enter image description here

AttributesToJSON将当前时间添加到属性列表,然后UpdateAttribute将属性添加到实际的JSON,但是它也会覆盖整个流文件的内容。我试图用AttributestoJSON来解决这个问题,但是我不能将两个文件合并回去(使用MergeRecord作为Correlation Attribute Name)。

有更好的解决方案吗? CurrentTime刚出现一个错误。 (也不确定如何配置RecordReader / Writer,因为我想将所有内容都保留在JSON中)。

1 个答案:

答案 0 :(得分:7)

使用UpdateRecord并添加一个属性,其中的名称是要更新的字段,例如“ / currentTime”,而值是对属性的表达式语言引用,例如$ {currentTime},假设您在UpdateAttribute中设置了currentTime。