Flex Gateway新着情報
Governance新着情報
Monitoring API Manager式ビルダー UI または設定 XML からインテグレーションおよび実装の DataWeave 式を設定します。Anypoint Code Builder で式のサンプル出力をプレビューできるように式のデータをモックします。
DataWeave は、メッセージ (ペイロードと属性) や他の Mule イベントデータを処理するコネクタ操作や他のコンポーネントでのデータ変換および式用に MuleSoft が開発したプログラミング言語です。Anypoint Code Builder で実装またはインテグレーションを作成する場合、Mule Runtime Engine のインスタンスで実行される Mule アプリケーションを作成します。
DataWeave 言語の基礎を理解します。
DataWeave 式は次を受け入れます。
DataWeave 関数と演算子、およびそれらのパラメーターで受け入れられるデータ型。
たとえば、連結関数 (++) は、文字列、配列、オブジェクト、および日付関連のデータ型を受け入れます。
IDE では関数の組み込みドキュメントも提供されます。例については、DataWeave 関数のリストの表示およびドキュメントの取得を参照してください。
定義済みの Mule イベント変数 (payload
、attributes
、vars
など)。
DataWeave セレクター。Mule イベント内のペイロード内の項目、属性、または変数の値を取得します。
その他のリソースについては、DataWeave Overviewを参照してください。
ほとんどのコネクタ操作およびコンポーネントで、DataWeave 式とスクリプトを受け入れる 1 つ以上の項目が提供されます。コンポーネントの設定パネルでは、これらの項目は項目の上の fx で識別されます。XML では、これらの項目には #[]
マークアップが含まれます。式項目は、DataWeave 関数と Mule イベントデータ (payload
、attributes
、vars
など) を含め DataWeave 式を受け入れます。
コンポーネントの式項目を開く手順は、次のとおりです。
実装またはインテグレーションプロジェクトのキャンバスから、式を受け入れるコンポーネントを開きます。
項目の上にある [fx] をクリックして、項目を文字列項目から式項目に変更します。次に例を示します。
XML では fx 項目にマークアップ #[]
も表示されるため、式の項であることが示されます。次に例を示します。
<set-variable variableName="variableName" value="#[]" doc:name="Set variable" doc:id="ndpiap" />
項目内をクリックすると、コンポーネントの式ビルダーが開きます。次に例を示します。
[Data (データ)]、[Functions (関数)]、[Preview (プレビュー)] タブを使用すると、コンポーネントの式を容易に設定できます。外部ソースのデータで Mule アプリケーションを実行しなくても、式の出力をプレビューできます。
ペイロード、属性、Mule 変数を含め Mule イベントのデータ構造を確認するには、[Data (データ)] タブを使用します。サンプルデータが含まれるこのタブは、コンポーネントの fx 項目の式ビルダーに含まれます。次に例を示します。
[Data (データ)] タブ (自動生成データを含む) | [Data (データ)] タブ (拡張済み) |
---|---|
タブ"] |
タブとモック属性"] |
自動生成された文字列 (ペイロード例の「dictum」など) はモック値として表示され、[Preview (プレビュー)] タブなどにプレビューの出力を生成するために使用されます。例の属性メタデータキーはフローの HTTP Listener 設定から取得されます。
コンポーネント設定パネルの [Input/Output (入出力)] タブでは、コンポーネントに入力されるときの Mule イベントデータの構造 (入力) とコンポーネントから出力される構造 (出力) が提供されます。次に例を示します。
タブ"]
コンポーネントの [Functions (関数)] タブ、fx 項目、または XML エディターのオートコンプリートメニューから使用可能な関数のリストを取得する手順は、次のとおりです。
fx 式項目を持つコンポーネントを開きます。
案内については、式 (fx) 項目を開くを参照してください。
使用可能な関数のリストを表示します。
空の fx 項目からコアモジュールの DataWeave 関数のリストを表示するには、空の fx 項目内で Ctrl+Space を押します。次に例を示します。
String モジュール、Array モジュール、コアモジュールなど、すべての DataWeave モジュールから関数を表示する手順は、次のとおりです。
fx 項目をクリックして、式ビルダーを開きます。
式ビルダーの [Functions (関数)] タブをクリックします。次に例を示します。
DataWeave 関数 | 関数リファレンス |
---|---|
関数にマウスポインターを置くと、短い説明が表示されます。 タブ"] |
[Details (詳細)] をクリックすると、完全なドキュメントが表示されます。 タブ"] |
キャンバスまたは XML エディターで DataWeave 式の出力をプレビューします。プレビュー機能の動作は、fx (式) 項目のペイロード (payload
) や Mule 変数 (vars.somevar
など) の設定 XML から提供されたサンプルデータに基づきます。
独自のサンプルデータを提供するには、DataWeave 式のサンプルデータを提供するを参照してください。
自動生成されたサンプルデータをプレビューするか、独自のサンプルデータをプレビューします。出力は、コンポーネントの式項目の式ビルダーの [Preview (プレビュー)] タブでプレビューします。
自動生成されたサンプルデータのプレビュー | サンプルデータのプレビュー |
---|---|
自動生成されたサンプルデータからの出力結果 タブ"] |
ユーザーが作成したサンプルデータを使用した式からの出力結果 タブ"] |
DataWeave セレクターと関数をサンプルデータに適用することができます。想定される構造とデータ型を持つサンプルデータを作成するには、DataWeave 式のサンプルデータを提供するを参照してください。
外部ソースから Mule イベントデータを取得するアプリケーションを実行せずに、コンポーネントでローカルに DataWeave 式をテストしてプレビューするには、fx 項目の payload
など、Mule 変数のサンプルデータを追加します。
サンプルデータは次の形式で作成することができます。
JSON
XML
CSV
|
Mule 変数のサンプルデータを作成する手順は、次のとおりです。
プロジェクトを開きます。
XML エディターで Mule イベント変数 (payload
など) にマウスポインターを置きます。次に例を示します。
[Quick Fix (クイック修正)] をクリックして [Quick Fix (クイック修正)] メニューを開きます。
[Create sample data for payload (ペイロードのサンプルデータを作成)] など、[Create sample data for your-value (your-value のサンプルデータを作成)] を選択します。次に例を示します。
開いたメニューで、サンプルデータの形式 (JSON など) を選択します。
IDE にサンプルデータのタブが開きます。
選択した形式のコンテンツをサンプルデータファイルに追加します。たとえば、JSON の場合は次のようになります。
ファイル名が payload.json
であることに注意してください。独自のサンプルデータと自動作成されたサンプルデータのファイルはプロジェクトディレクトリ src/test/resources
に保存されます。
サンプルデータを追加する前に重要のメモを参照してください。
XML エディター内の値にマウスポインターを置くと、サンプルデータの構造、データキー、データ型が表示されます。次に例を示します。
式ビルダー UI からサンプルデータをプレビューします。
キャンバス UI から、サンプルデータが含まれるコンポーネントをクリックして、その項目の式ビルダーを開きます。
サンプルデータが含まれるコンポーネントの式項目をクリックして、その項目の式ビルダーを開きます。
[Preview (プレビュー)] をクリックして、サンプルデータを表示します。次に例を示します。
値は変更できます。たとえば、DataWeave セレクターまたは関数を追加します。
この例では id
値の配列が返されるようになりました。
DataWeave コードに構文エラーやセマンティックエラーが含まれている場合、Anypoint Code Builder ではエラーが強調表示され、推奨の修正方法が提供されます。次のような問題があります。
多くの DataWeave モジュールでは、式に明示的な import
ディレクティブが必要です。このディレクティブを必要としないモジュールはコアモジュールのみです。
たとえば、この関数が属している String モジュールをインポートしていない場合、関数 camelize( "hello world")
では、「Unable to resolve the reference of 'camelize' (「camelize」の参照を解決できません)」
というエラーが発生します。
<set-payload value='#[ camelize( "hello world")]' doc:name="Set payload" doc:id="vyvcds" />
式ビルダーではエラーが識別されます。次に例を示します。
この問題を修正するには、クリックして import ディレクティブを自動で追加します。次に例を示します。
この修正の XML は次の例のようになります。
<set-payload value='#[%dw 2.0
import camelize from dw::core::Strings
---
camelize( "hello world")]' doc:name="Set payload" doc:id="vyvcds" />
Anypoint Code Builder では未定義の関数が自動的にフラグ付けされます。
たとえば、次のコードでは、DataWeave により toUpper
がエラーとしてフラグ付けされています。
カーソルを関数の上に置くと、DataWeave によりエラーに関する情報が提供されます。
この問題を修正する手順は、次のとおりです。
エラーをクリックしてポップアップを表示します。
[Quick Fix (クイック修正)]、[Create Function (関数を作成)] の順にクリックします。
Anypoint Code Builder では ???
プレースホルダー付きの関数定義が自動的に追加されます。このプレースホルダーにユーザーは関数を定義できます。
fun toUpper(param0: String) = ???
upper
関数を使用して、指定された文字列を大文字で返すように関数を更新します。
<set-payload value="#[%dw 2.0
fun toUpper(param0: String) = upper(param0)
output application/json
---
toUpper('hello')]" doc:name="Set payload" doc:id="xiyfpa" />
Anypoint Code Builder を使用して、Exchange から Mule アプリケーションに DataWeave ライブラリをインポートします。
DataWeave ライブラリは、DataWeave モジュール、マッピングファイル、およびリソースファイル (JSON、XML、CSV ファイルなど) の再利用可能なパッケージです。
DataWeave ライブラリをインポートする方法は、Exchange から他のアセットをインポートする方法と同じです。
Anypoint Code Builder でインテグレーションプロジェクトを開きます。
コマンドパレットを開きます。
キーボードショートカットを使用する。
Mac: Cmd+Shift+p
Windows: Ctrl+Shift+p
デスクトップ IDE で、[View (表示)] > [Command Palette (コマンドパレット)] を選択する。
クラウド IDE で、 (メニュー) アイコンをクリックし、[View (表示)] > [Command Palette (コマンドパレット)] を選択する。
「import」
と入力し、次のコマンドを選択します。
MuleSoft: Import Asset from Exchange
[DataWeave Library (DataWeave ライブラリ)] を選択します。
ライブラリを検索するには、検索語を入力して Enter キーを押します。たとえば、「DataWeave」と入力します。
[Assets From Exchange (Exchange のアセット)] メニューから DataWeave ライブラリを選択します。
DataWeave ライブラリのバージョンを選択します。
ステータスバーに進行状況が表示されます。
完了したら、連動関係がプロジェクトに正常に追加されたことを示すメッセージが Anypoint Code Builder に表示されます。