Flex Gateway新着情報
Governance新着情報
Monitoring API Manager次の DataWeave の例は、update
と mask
を使用していくつかの XML 要素を設定する方法を示しています。
開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、DataWeave バージョン 1.2 の例を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。
この例では、以下を使用します。
update
を使用してペイロードの指定項目を新しい値で更新する
単一値セレクター (.
) と複数値セレクター (.*
) を使用してペイロードを操作し、更新する項目を選択する
次のスクリプトは update
演算子の動作を示しています。この例では、ペイロードの各 user
を新しい user
で更新することで、新しい users
リストを作成しています。変換では、first_name
、middle_name
、last_name
を大文字の値に変換します。
%dw 2.0
output application/xml
---
payload update {
case user at .users.*user -> user update {
case .personal_information.first_name -> upper(user.personal_information.first_name)
case .personal_information.middle_name -> upper(user.personal_information.middle_name)
case .personal_information.last_name -> upper(user.personal_information.last_name)
}
}
<users>
<user>
<personal_information>
<first_name>Emiliano</first_name>
<middle_name>Romoaldo</middle_name>
<last_name>Lesende</last_name>
<ssn>001-08-84382</ssn>
</personal_information>
<login_information>
<username>3miliano</username>
<password>mypassword1234</password>
</login_information>
</user>
<user>
<personal_information>
<first_name>Mariano</first_name>
<middle_name>Toribio</middle_name>
<last_name>de Achaval</last_name>
<ssn>002-05-34738</ssn>
</personal_information>
<login_information>
<username>machaval</username>
<password>mypassword4321</password>
</login_information>
</user>
</users>
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<personal_information>
<first_name>EMILIANO</first_name>
<middle_name>ROMOALDO</middle_name>
<last_name>LESENDE</last_name>
<ssn>001-08-84382</ssn>
</personal_information>
<login_information>
<username>3miliano</username>
<password>mypassword1234</password>
</login_information>
</user>
<user>
<personal_information>
<first_name>MARIANO</first_name>
<middle_name>TORIBIO</middle_name>
<last_name>DE ACHAVAL</last_name>
<ssn>002-05-34738</ssn>
</personal_information>
<login_information>
<username>machaval</username>
<password>mypassword4321</password>
</login_information>
</user>
</users>
DataWeave は、各項目へのパスを指定せずに完全に値をマスクする方法を提供しています。
mask
は、入力中で選択された名前と一致するすべての単純要素を、指定されたマスクで更新します。
次の例では、ssn
と password
の値をアスタリスク文字列 (****
) でマスクします
%dw 2.0
import * from dw::util::Values
output application/xml
---
(payload mask "ssn" with "****") mask "password" with "****"
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<personal_information>
<first_name>EMILIANO</first_name>
<middle_name>ROMOALDO</middle_name>
<last_name>LESENDE</last_name>
<ssn>001-08-84382</ssn>
</personal_information>
<login_information>
<username>3miliano</username>
<password>mypassword1234</password>
</login_information>
</user>
<user>
<personal_information>
<first_name>MARIANO</first_name>
<middle_name>TORIBIO</middle_name>
<last_name>DE ACHAVAL</last_name>
<ssn>002-05-34738</ssn>
</personal_information>
<login_information>
<username>machaval</username>
<password>mypassword4321</password>
</login_information>
</user>
</users>
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<personal_information>
<first_name>EMILIANO</first_name>
<middle_name>ROMOALDO</middle_name>
<last_name>LESENDE</last_name>
<ssn>****</ssn>
</personal_information>
<login_information>
<username>3miliano</username>
<password>****</password>
</login_information>
</user>
<user>
<personal_information>
<first_name>MARIANO</first_name>
<middle_name>TORIBIO</middle_name>
<last_name>DE ACHAVAL</last_name>
<ssn>****</ssn>
</personal_information>
<login_information>
<username>machaval</username>
<password>****</password>
</login_information>
</user>
</users>