Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule アプリケーションのフロー内で使用する値を格納するための Mule 変数を作成または更新します。
Mule 変数は Mule イベントの一部です。文字列やメッセージといったシンプルなリテラル値、メッセージペイロード、または属性オブジェクトを格納できます。たとえば、メッセージの元の (処理前の) ペイロードを格納しておくことで、後でフローやエラーハンドラーで使用できるようにします。
複雑な式や変換には Set Variable を使用しないでください。代わりに、このコンポーネントは選択などのシンプルな操作に使用し、複雑なシナリオでは Transform コンポーネントを使用します。
このコンポーネントは、次の XML 構造をサポートします。
<set-variable
variableName="myVar"
value="myVarValue"
doc:name="Set variable"
doc:id="mrsngz" />
Set Variable (<set-variable/>
) 属性は UI および XML で設定できます。
属性名 | 属性 XML | 説明 |
---|---|---|
Set variable (変数を設定) (デフォルト) |
|
キャンバスに表示されるコンポーネントの編集可能な名前。 |
なし |
|
コンポーネントの自動生成された識別子。 |
Value (値) |
|
変数の値で、文字列または DataWeave 式を指定できます。式を使用する例については、動的ライタープロパティの使用を参照してください。この属性は必須です。 |
Variable name (変数名) |
|
変数の名前で、文字列または DataWeave 式を指定できます。変数名には、数字、文字、およびアンダースコアのみを含める必要があります。この属性は必須です。 |
Encoding (エンコード) |
|
このコンポーネントで出力されるペイロードのエンコード。 |
Mime type (MIME タイプ) |
|
このコンポーネントで出力されるペイロードの MIME タイプ。詳細は、「リーダーとライターのプロパティの使用」を参照してください。 |
パラメーター |
なし |
リーダープロパティのキーと値のペアを |
Set Variable は、現在の Mule イベントで変数を設定し、設定された変数は Mule イベントと一緒に下流のイベントプロセッサーに伝播されます。DataWeave では、vars
を使用することで任意の変数にアクセスできます。たとえば、vars.lastMessage
を使用して、lastMessage という名前の変数にアクセスできます。Transform コンポーネントでは変数を設定でき、多くのコネクタやイベントプロセッサーには設定できる対象変数あります。
次の例では、Mule 変数の値を文字列、DataWeave 操作の結果、メッセージペイロード、メッセージ属性、マップ値、Java オブジェクトに設定します。
次の例では、文字列値を変数に割り当てます。
<set-variable
value="My First Variable"
variableName="myVar" />
次の例では、DataWeave 式の結果を変数に割り当てます。
<set-variable
value=#[max([1,2,3] ++ [3,4,5])]
variableName="myResult" />
次の例では、メッセージペイロードを変数に割り当てます。
<set-variable
value=#[payload]
variableName="myPayload" />
次の例では、メッセージ属性を変数に割り当てます。
<set-variable
value=#[attributes]
variableName="myAttributes" />
次の例では、マップ値を変数に割り当てます。
<set-variable
value="{ 'name' : 'Ana', 'office' : 'BA' }"
variableName="employee"
mimeType="application/json"
encoding="UTF-8"/>
次の例では、DataWeave スクリプトを使用して Java オブジェクトを変数に割り当てます。
<set-variable
value='#[%dw 2.0 output application/java
---
{
name: "Tomo",
lastName: "Chibana",
expirationDate: now(),
salesRepr:
{
name: "Mariano",
lastName: "de Achaval",
}
} as Object {class: "Customer"}]'
variableName="Variable to Java Object"/>