DataWeave リファレンス

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

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

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

DataWeave 2.0 関数はモジュールにパッケージ化されています。 開始する前に、DataWeave バージョン 2 は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントの​「DataWeave の演算子」​を参照してください。他の Mule バージョンの場合は、Mule Runtime の目次のバージョンセレクターを使用できます。

コア (​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") }