Apache NiFi SplitJSON 根数组

Apache NiFi Split JSON root array

我想使用 Apache NiFi 的内置处理器 'SplitJson' 拆分一个 JSON 数组。我以前做过,效果很好,但现在我似乎找不到正确的 json 路径表达式来拆分我的 json。我得到的 JSON 只是来自 github:

https://api.github.com/events

我想在单独的流文件中获取每个事件。在处理器的描述中,它指出:

A JsonPath expression that indicates the array element to split into JSON/scalar fragments.

因为它是我要拆分的根数组,所以我尝试使用 $ 或 @ 但这行不通。同样,*[*] 或其他我认为错误的东西,如 $.[*] 等,都不起作用。在某些情况下,它只是不拆分任何东西,其他时候它会给出一个错误,只是说它找不到数组。

提前感谢您的任何建议或帮助!

我相信您需要做的就是拥有一条 JSON $.* 的路径。这应该将数组拆分为每个元素的 FlowFile。

为了演示,我在此处创建并上传了一个模板[1]。它使用 GetHTTP 获取 JSON,使用 SplitJSON 将其拆分并在 LogAttribute 处结束(用于测试目的)。请注意,我认为 GitHub 要求您使用 https(使用 http 的初始测试失败),因此您需要使用密钥库配置 SSL 上下文。

[1] https://gist.github.com/JPercivall/e1b5ba00a45c464fd764