重命名 NiFi 流程中的 JSON 字段

Rename JSON field in NiFi flow

我是 NiFi 的新手,我的问题可能很基础。 我想重命名流文件中的 JSON 键。例如:

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

我想转换成

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

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

如何重命名 JSON 中的属性?

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

使用 JSON FlowFiles 内容的最简单方法是通过 JOLTTransform。

试试这个规范:

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

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