InvokeHTTPCustom を使用して API 呼び出しから受け取った json ファイルから属性を抽出する必要があります。JSON FILE には、次のサンプル データがあります。
[
{
"input_index": 0,
"candidate_index": 0,
"delivery_line_1": "1 Santa Claus Ln",
"last_line": "North Pole AK 99705-9901",
"delivery_point_barcode": "997059901010",
"components": {
"primary_number": "1",
"street_name": "Santa Claus",
"street_suffix": "Ln",
"city_name": "North Pole",
"state_abbreviation": "AK",
"zipcode": "99705",
"plus4_code": "9901",
"delivery_point": "01",
"delivery_point_check_digit": "0"
},
"metadata": {
"record_type": "S",
"zip_type": "Standard",
"county_fips": "02090",
"county_name": "Fairbanks North Star",
"carrier_route": "C004",
"congressional_district": "AL",
"rdi": "Commercial",
"elot_sequence": "0001",
"elot_sort": "A",
"latitude": 64.75233,
"longitude": -147.35297,
"coordinate_license": 1,
"precision": "Rooftop",
"time_zone": "Alaska",
"utc_offset": -9,
"dst": true
},
"analysis": {
"dpv_match_code": "Y",
"dpv_footnotes": "AABB",
"dpv_cmra": "N",
"dpv_vacant": "N",
"dpv_no_stat": "Y",
"active": "Y",
"footnotes": "L#"
}
},
{
"input_index": 1,
"candidate_index": 0,
"addressee": "Apple Inc",
"delivery_line_1": "1 Infinite Loop",
// truncated for brevity
}
]
住所、州、都市、primary_number などの必要なデータをすべて抽出しました。ただし、メタデータから緯度、経度を抽出しようとすると、EvaluateJsonPathAttributeCustom プロセッサでエラーが発生します。文字列形式のその他の属性は、正しく抽出されます。ただし、これは文字列ではないため、問題になる可能性があります。私の診断です。これを機能させるにはどうすればよいですか?経度と緯度を抽出する必要があります。私はnifiに慣れていないので、詳細な説明をお願いします。EvaluateJsonPathAttributeCustom の nifi での構成:
Attribute Name Input : x**.json
Attribute Name Output : latitude
JsonPathExpresssion : $[0].metadata.latitude
Splitif.. : False