Flex Gateway新着情報
Governance新着情報
Monitoring API Manager
DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポートが終了しました。 このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。 標準サポートが適用されている最新バージョンの Mule 4 にアップグレードすることをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。 |
この DataWeave の例では、テストのスコアで候補者の配列を並び替え、募集職種が埋まるまで最もスコアの高い候補者のみを選択します。
開始する前に、DataWeave バージョン 2 (%dw 2.0
) は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントセットの DataWeave 1.0 (%dw 1.0
) の例を参照してください。他の Mule バージョンの場合は、目次の Mule Runtime バージョンセレクターを使用できます。
この例では、以下を使用します。
入力の各候補者を調べる map
。
スコアに応じて一連の候補者を並び替える orderBy
。
候補者の全配列の一部のみを選択する [n to n]
。配列は昇順に並んでいるため、上位の候補者は配列の最後に配置されます。そのため、負のインデックスを使用する必要があります。この入力では、-3 から -1 が選択されます。-1 は配列の最後のインデックスです。
%dw 2.0
output application/json
---
{
TopCandidateList: (payload.candidates map ((candidate) -> {
firstName: candidate.name,
rank: candidate.score
}) orderBy $.rank) [ -payload.availablePositions to -1]
}
{
"availablePositions": 3,
"candidates":
[
{
"name":"Gunther Govan",
"score":99
},
{
"name":"Michael Patrick",
"score":35
},
{
"name":"Amalia Silva",
"score":96
},
{
"name":"Tom Mathews",
"score":40
},
{
"name":"Simon Wilson",
"score":84
},
{
"name":"Janet Nguyen",
"score":52
}
]
}
{
"TopCandidateList": [
{
"firstName": "Simon Wilson",
"rank": 84
},
{
"firstName": "Amalia Silva",
"rank": 96
},
{
"firstName": "Gunther Govan",
"rank": 99
}
]
}