DataWeave リファレンス

DataWeave 2.1 は Mule 4.1 と互換性があります。 Mule 4.1 の標準サポートは 2020 年 11 月 2 日に終了しました。このバージョンの Mule は、拡張サポートが終了する 2022 年 11 月 2 日にその​​すべてのサポートが終了します。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

DataWeave 関数はモジュールにパッケージ化されています。コア (​dw::Core​) モジュールの関数は、自動的に DataWeave スクリプトにインポートされます。その他のモジュールを使用するには、DataWeave スクリプトの先頭に次のようなインポートディレクティブを追加することによって、使用するモジュールまたは関数をインポートする必要があります。

  • import dw::core::Strings

  • import camelize, capitalize from dw::core::Strings

  • import * from dw::core::Strings

モジュールのインポート方法は、DataWeave スクリプトから関数をコールする方法に影響します。ディレクティブでインポートする関数を具体的にリストしない場合や ​* from​ を使用して関数モジュールのすべての関数をインポートする場合は、スクリプトから関数をコールするときにモジュールを指定する必要があります。たとえば、次のインポートディレクティブでは String モジュールからインポートする関数が指定されていないため、​pluralize​ 関数をコールするときには ​Strings::pluralize("box")​ のようになります。

変換
%dw 2.0
import dw::core::Strings
output application/json
---
{ 'plural': Strings::pluralize("box") }

次の例では、String モジュールからインポートする特定の関数が指定されているため、​pluralize("box")​ のようにメソッドをコールできます。

変換
%dw 2.0
import pluralize from dw::core::Strings
output application/json
---
{ 'plural': pluralize("box") }

次の例では、String モジュールからすべての関数がインポートされるため、​pluralize("box")​ のようにメソッドをコールできます。

変換
%dw 2.0
import * from dw::core::Strings
output application/json
---
{ 'plural': pluralize("box") }