Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerFlex Gateway新着情報
Governance新着情報
Monitoring API Manager2.x
Mule 4
3.9
1.1
2.x
1.2
7.x
CSV ファイルのデータの参照 (Mule)
CSV ファイルのデータの参照 (Mule)
この DataWeave の例では、filter
と map
を使用して CSV ファイルのデータを参照し、電話番号の入力配列内で検出されたコールコードごとに国コードを返します。
開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、『DataWeave バージョン 1.2 の例』を参照してください。
他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。
次の JSON ペイロードでは、電話番号の配列が DataWeave スクリプトに提供されます。
[
"54-112724555",
"1-6298765432"
]
JSON
Mule 変数 country_codes
の値はコールコードを国コードに対応付ける CSV ファイルです。
CALLING_CODE,COUNTRY_CODE 1,US 7,RU 54,AR 20,EG 32,BE 33,FR 505,NI 506,CR 1876,JM 1905,CA 1939,PR 262262,RE 262269,YT .,. .,.
CSV
次の DataWeave スクリプトでは、ペイロードの各電話番号を読み取り、filter
関数を使用して電話番号のコールコードに一致する Mule 変数 country_code
内でコールコードを検索します。続いて、map
関数がコールコードに対応する国コードを取得して結果を JSON オブジェクトの配列に返します。
%dw 2.0
output application/json
fun lookupCountryCode(phoneNumber: String): String = do {
var callingCode = (phoneNumber splitBy("-"))[0]
---
(vars.country_code filter ((item, index) -> item.CALLING_CODE == callingCode) map ((item, index) -> item.COUNTRY_CODE))[0]
}
---
payload map ((item, index) -> { phone: item, countryCode: lookupCountryCode(item)})
dataweave
[
{
"phone": "54-112724555",
"countryCode": "AR"
},
{
"phone": "1-6298765432",
"countryCode": "US"
}
]
JSON