4

Apache NiFi の組み込みプロセッサ「SplitJson」を使用して、JSON 配列を分割したいと考えています。以前に実行したことがあり、完全に機能しますが、json を分割するための正しい json パス式が見つからないようです。私が取得する JSON は、単に github からのものです。

https://api.github.com/events

各イベントを個別のフローファイルで取得したい。プロセッサの説明では、次のように述べています。

JSON/スカラー フラグメントに分割する配列要素を示す JsonPath 式。

分割したいルート配列なので、$ または @ を使用してみますが、うまくいきません。同様に*、または[*]その他の間違っていると思われるもの$.[*]などは機能しません。何も分割しない場合もあれば、配列が見つからないという単純なエラーが発生する場合もあります。

提案やヘルプをお寄せいただきありがとうございます。

4

1 に答える 1

7

あなたがする必要があるのは、のJSONパスを持つことだけだと思います$.*. これにより、配列が要素ごとに FlowFile に分割されます。

実演するために、ここでテンプレートを作成してアップロードしました[1]。GetHTTP を使用して JSON を取り込み、SplitJSON を使用してそれを分割し、LogAttribute で終了します (テスト目的)。GitHub では https を使用する必要があると思われるため (最初のテストでは http を使用して失敗しました)、キーストアを使用して SSL コンテキストを構成する必要があることに注意してください。

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

于 2016-03-17T18:17:17.107 に答える