NiFi Jolt 规范中的@timestamp 错误

Mistake with @timestamp in NiFi Jolt Specification

我在 jolt 转换中收到 @timestamp 参数错误:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@(1,timestamp)": "values.[#2].timestamp",
        "$": [
          "values.[#2].id",
          "values.[#2].doc_id"
        ],
        "@": "values.[#2].value"
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "values": {
        "*": {
          "doc_id": "=concat(@(1,doc_id),@(1,timestamp))",
          "@timestamp": "=concat(@(1,timestamp),'000')",
          "value": "=concat(@(1,value),'')"
        }
      }
    }
  }
]

输入示例:

{
  "timestamp": 1559350080,
  "param": 12
}

是否可以在 Jolt Transformation 中使用字符 @

@ 是一个特殊字符。需要以转义字符 (\) 为前缀,以便通过将 "@timestamp" 键替换为 "\@timestamp".

使其成为文字

这样,您将在输出中得到 "@timestamp" : "1559350080000" 作为键值对。