Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerStudio UI を使用して Mule プロジェクトに DataWeave 言語を取り込むだけではなく、Studio の [XML] タブまたは外部エディターで、Transform Message コンポーネントをすべて XML で作成して設定することができます。
UI を使用して要素を作成および設定すると、対応する XML 設定が XML エディターで自動的に作成されます。
Mule プロジェクトの最初に、次の連動関係を取り込む必要があります。
<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
...
xsi:schemaLocation="
...
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
</mule>
Transform コンポーネントをキャンバスにドラッグアンドドロップすると、Studio はこれらの連動関係を自動的に追加します。
<ee:transform>
要素は、Transform コンポーネントのトップレベル XML タグです。
<ee:transform> 属性 |
説明 |
---|---|
|
Studio キャンバスに表示される要素の名前を定義します。 |
|
遅延実行を参照します。指定できる値: |
変換要素内で CDATA
を使用して DataWeave コードを XML に入力するか、または外部の .dwl
ファイルを参照できます。
この例では、<dw:set-payload>
変換要素内で DataWeave スクリプトを作成しています。
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
doc:name="Transform" doc:timestamp="1510861248434">
<ee:message>
<ee:set-payload>
<![CDATA[%dw 2.0
output application/json
---
{
// YOUR DW SCRIPT
}
]]>
</ee:set-payload>
</ee:message>
</ee:transform>
次の例では、外部の .dwl
ファイルを呼び出して同じ設定を行っています。
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
doc:name="Transform" doc:timestamp="1510861248434" doc:mode="immediate">
<ee:message>
<ee:set-payload resource="transform.dwl" />
</ee:message>
</ee:transform>
これらのファイルは、デフォルトではプロジェクトの src/main/resources
フォルダーにあります。
単一の Transform コンポーネント要素 (<ee:transform/>
) で、Mule イベントのすべての部分のコンテンツを指定できます。
<ee:message/>
には、<ee:set-payload/>
と <ee:set-attributes/>
を定義できます。
<ee:variables/>
には、1 つまたは複数の <ee:set-variable/>
要素を定義できます。
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
doc:name="Transform" doc:timestamp="1510861248434">
<ee:message>
<ee:set-payload resource="transform.dwl" />
<ee:set-attributes resource="myattributes.dwl" />
</ee:message>
<ee:variables>
<ee:set-variable variableName="myVar" resource="myvar.dwl"/>
</ee:variables>
</ee:transform>
子要素には、同じ属性の一部を定義できます。
属性 | 説明 |
---|---|
|
DataWeave 変換スクリプトが格納された |
|
出力変数専用で、変数の名前を定義します。 |
ペイロード、属性、および変数の変換を作成する例です。
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
doc:name="Transform" doc:timestamp="1510861248434">
<ee:message>
<ee:set-payload><![CDATA[%dw 2.0
output application/json
---
(payload map (value0, index0) -> {
id: value0.id,
username: value0.username,
address: {
street: value0.address.street
},
website: value0.website
})]]></ee:set-payload>
<ee:set-attributes><![CDATA[%dw 2.0
output application/json
---
{
reasonPhrase: attributes.reasonPhrase
}]]></ee:set-attributes>
</ee:message>
<ee:variables>
<ee:set-variable variableName="myVar"><![CDATA[%dw 2.0
output application/json
---
{
a: payload[0].phone
}]]></ee:set-variable>
</ee:variables>
</ee:transform>