指定备用JSON路径

时间:2017-07-05 16:03:57

标签: apache-nifi jsonpath

假设我有一个JSON日志输出以下信息:

{"timestamp":"someText","alert":"someMoreText","Level":someInt}

我还有另一个JSON日志,它输出相同类型的信息但标签不同:

{"ts":"someText","alert":"someMoreText","Level":someInt}

区别在于" timestamp" " ts" 具有不同的名称,但质量信息相同。 如果可以使用这种技术,我将如何使用一个JSON路径调用引用其中一个备用名称?

例如,如果我希望它引用两个日志的时间戳,我会想要使用类似$.[timestamp|ts]

的内容

1 个答案:

答案 0 :(得分:1)

使用新的记录处理器,您可以做类似的事情......

  • 定义具有'timestamp'和'ts'
  • 的架构
  • 将带有'ts'的所有记录发送到UpdateRecord处理器
  • 将UpdateRecord处理器设置为make / timestamp = / ts
  • 定义没有'ts'
  • 的架构的另一个版本
  • 将ConvertRecord处理器与使用第二个架构的编写器
  • 一起使用

最后一步是重写没有'ts'字段的记录。

或者,你可以尝试定义一个带有'timestamp'字段和别名'ts'的模式,它应该允许任何记录处理器使用'timestamp'访问这两个字段。这将取决于您在流程中所做的事情,看看是否可以使用记录处理器实现。