---
schema_version: "1"
id: fb62f62cb329534dc667062ada0c38d7aeb2f44ac5c97492e5221d503a64e6d2
title: Set Variable (<set-variable/>)
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/anypoint-code-builder/acb-component-set-variable.md
canonical_url: https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-set-variable
source_site: docs.mulesoft.com
content_type: documentation
content_hash: e9d7e3c122d10a596506c056695a61fe7dde66b002cf4843af20a22ffdd3fe6f
description: MuleSoft Documentation Site
latest: true
---
# Set Variable (<set-variable/>)

![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE

![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE

Mule アプリケーションのフロー内で使用する値を格納するための ​[Mule 変数](https://docs.mulesoft.com/mule-runtime/latest/about-mule-variables)​を作成または更新します。

Mule 変数は ​[Mule イベント](https://docs.mulesoft.com/mule-runtime/latest/about-mule-event)​の一部です。文字列やメッセージといったシンプルなリテラル値、メッセージペイロード、または属性オブジェクトを格納できます。たとえば、メッセージの元の (処理前の) ペイロードを格納しておくことで、後でフローやエラーハンドラーで使用できるようにします。

複雑な式や変換には Set Variable を使用しないでください。代わりに、このコンポーネントは選択などのシンプルな操作に使用し、複雑なシナリオでは Transform コンポーネントを使用します。

## [](#component-xml)コンポーネント XML

このコンポーネントは、次の XML 構造をサポートします。

```xml
<set-variable
  variableName="myVar"
  value="myVarValue"
  doc:name="Set variable"
  doc:id="mrsngz" />
```

Set Variable (​`<set-variable/>`​) 属性は UI および XML で設定できます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">属性名</th>
<th class="tableblock halign-left valign-top">属性 XML</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Set variable (変数を設定)</strong>​ (デフォルト)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>doc:name</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>キャンバスに表示されるコンポーネントの編集可能な名前。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">なし</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>doc:id</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>コンポーネントの自動生成された識別子。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Value (値)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>value</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>変数の値で、文字列または DataWeave 式を指定できます。式を使用する例については、<a href="https://docs.mulesoft.com/jp/dataweave/2.4/dataweave-cookbook-writer-prop-mule" class="xref page">動的ライタープロパティの使用</a>を参照してください。この属性は必須です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Variable name (変数名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>variableName</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>変数の名前で、文字列または DataWeave 式を指定できます。変数名には、数字、文字、およびアンダースコアのみを含める必要があります。この属性は必須です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<strong>Encoding (エンコード)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>encoding</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>このコンポーネントで出力されるペイロードのエンコード。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<strong>Mime type (MIME タイプ)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>mimeType</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>このコンポーネントで出力されるペイロードの MIME タイプ。詳細は、​<a href="https://docs.mulesoft.com/dataweave/latest/dataweave-formats#reader_writer_properties" class="xref page">「リーダーとライターのプロパティの使用」</a>​を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<strong>パラメーター</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">なし</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>リーダープロパティのキーと値のペアを ​<code>outputMimeType</code>​ 属性の値に追加します。複数のキーと値のペアが許可されます。リーダープロパティは MIME タイプに固有です。例として、​<code>application/json</code>​ の​<a href="https://docs.mulesoft.com/dataweave/latest/dataweave-formats-json#properties" class="xref page">「JSON リーダープロパティ」</a>​を参照してください。他のリーダープロパティを見つけるには、​<a href="https://docs.mulesoft.com/dataweave/latest/dataweave-formats" class="xref page">DataWeave 形式のドキュメント</a>​の「サポートされる形式」に移動し、​<a href="https://docs.mulesoft.com/dataweave/latest/dataweave-formats#reader_writer_properties" class="xref page">「リーダーとライターのプロパティの使用」</a>​を参照してください。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#他のイベントプロセッサーの変数へのアクセス)他のイベントプロセッサーの変数へのアクセス

Set Variable は、現在の Mule イベントで変数を設定し、設定された変数は Mule イベントと一緒に下流のイベントプロセッサーに伝播されます。DataWeave では、​`vars`​ を使用することで任意の変数にアクセスできます。たとえば、​`vars.lastMessage`​ を使用して、​_lastMessage_​ という名前の変数にアクセスできます。Transform コンポーネントでは変数を設定でき、多くのコネクタやイベントプロセッサーには設定できる対象変数あります。

## [](#例)例

### [](#example1)例: 文字列値を使用した変数の設定

次の例では、文字列値を変数に割り当てます。

```xml
<set-variable
  value="My First Variable"
  variableName="myVar" />
```

### [](#example2)例: DataWeave 式の結果を変数として設定

次の例では、DataWeave 式の結果を変数に割り当てます。

```xml
<set-variable
  value=#[max([1,2,3] ++ [3,4,5])]
  variableName="myResult" />
```

### [](#example3)例: 変数をメッセージペイロードに設定

次の例では、メッセージペイロードを変数に割り当てます。

```xml
<set-variable
  value=#[payload]
  variableName="myPayload" />
```

### [](#example4)例: 変数をメッセージ属性に設定

次の例では、メッセージ属性を変数に割り当てます。

```xml
<set-variable
  value=#[attributes]
  variableName="myAttributes" />
```

### [](#example5)例: マップ値を使用した変数の設定

次の例では、マップ値を変数に割り当てます。

```xml
<set-variable
  value="{ 'name' : 'Ana', 'office' : 'BA' }"
  variableName="employee"
  mimeType="application/json"
  encoding="UTF-8"/>
```

### [](#example6)例: 変数を Java オブジェクトに設定

次の例では、DataWeave スクリプトを使用して Java オブジェクトを変数に割り当てます。

```xml
<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"/>
```

## [](#see-also)関連情報

- [Transform コンポーネント](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transform)
- [Mule イベントの変数](https://docs.mulesoft.com/mule-runtime/latest/about-mule-variables)
- [対象変数を使用したデータの強化](https://docs.mulesoft.com/mule-runtime/latest/target-variables)