首页 > 解决方案 > NiFi:将属性合并到流文件的 JSON 内容中(不覆盖整个流文件)

问题描述

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

我可以使用AttributesToJSON,但这只会覆盖文件内容。

我的流程示例在这里:

在此处输入图像描述

UpdateAttribute当前时间添加到属性列表,然后AttributestoJSON将属性添加到实际 JSON,但它也会覆盖整个流文件内容。我试图用 来解决这个问题MergeRecord,但我不能将两个文件重新合并在一起(CurrentTime用作关联属性名称)。

有更好的办法吗?刚刚出现MergeRecord一个错误。(也不确定如何配置 RecordReader/Writer,因为我想将所有内容保存在 JSON 中)。

标签: jsonapache-nifi

解决方案


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


推荐阅读