重命名 NiFi 流中的 JSON 字段

问题描述

我对 NiFi 还很陌生,我的问题可能很基本。 我想重命名文件中的 JSON 键。例如:

{"path":"/home/a/a","size":"12345"}

我想转换为

{"filename":"/home/a/a","size":"12345"}

尝试使用 UpdateAttribute,添加值为 filename${path} 属性,但要么我做错了什么,要么不打算用于此类操作。

如何重命名 JSON 中的属性

解决方法

这是 FlowFile 的内容,而不是属性,因此 UpdateAttribute 不是正确的方法。

处理 FlowFiles 的 JSON 内容的最简单方法是通过 JOLTTransform。

试试这个规范:

[
  {
    "operation": "shift","spec": {
      "path": "filename","*": {
        "@": "&"
      }
    }
  }
]

您可以使用输入数据测试 JOLT 变换 here 并查看输出结果。