2016-11-24 15 views
1

最初はテーブルにクエリを出して、id、payloadという2つの値を取得しています。ペイロードフィールドは再びjsonですが、文字列です。ペイロード文字列を確認してください。NIFI:JSONから値を抽出できません

{ 
    "schema": "http://schemas.viacom.com/what/is/the/path#", 
    "op": "delete", 
    "entity": "movie", 
    "entity_identifier": { 
    "series_code": 53709, 
    "episode_code": 1 
    }, 
    "entity_vmid": "", 
    "short_name": "", 
    "title": "" 
} 

series_codeとepisode_codeの値が必要です。私は方法を下回るものの役に立たないでしようとしました

  1. は、ExecuteSQL - > ConvertAvrotoJSON - > EvaluateJSON($ payload.entity_identifier.series_code。)
  2. は、ExecuteSQL - > ConvertAvrotoJSON - > AttributestoJSON - > EvaluateJSON

助けてください。

答えて

2

EvaluateJsonPathプロセッサを使用して、JsonPathの式をフローファイルの内容と比較して評価することができます。抽出する値ごとに1つのユーザー定義プロパティを追加します。 Destinationの値をflowfile-attributeに設定して、フローファイルに追加される属性に値を抽出するか、またはflowfile-contentに設定して、抽出された値を唯一のコンテンツとして新しいフローファイルを生成します。あなたが提供するJSONを考える

は、あなたが使用する2パス式は以下のとおりです。

  • $.entity_identifier.series_code - >53709
  • $.entity_identifier.episode_code - >1
関連する問題