---
schema_version: "1"
id: 5b362857fab3c4480912f8f9a67e66df63a16d71ec25b2ad753f7f39b20fe1c9
title: オブジェクトストアでの情報の保存と取得の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/object-store-connector/1.2/object-store-to-store-and-retrieve.md
canonical_url: https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-to-store-and-retrieve
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f9d27067dc38edd6219029540742d5ccd60e18c0b4e64fc908b7f762f5fb177a
description: MuleSoft Documentation Site
release: "1.2"
latest: true
---
# オブジェクトストアでの情報の保存と取得の例

Object Store Connector は、Store (​`<os:store/>`​) および Retrieve (​`<os:retrieve/>`​) 操作を提供します。

Object Store Connector で使用する対象変数については、​[Mule Runtime 対象変数ドキュメント](https://docs.mulesoft.com/mule-runtime/latest/target-variables)​を参照してください。

## [](#オブジェクトストアの情報の保存)オブジェクトストアの情報の保存

オブジェクトストアを使用して値を次のように保存できます。

```xml
<os:store key="state">
  <os:value>
    <![CDATA[#[
      output application/json
       ---
       {
          "id": attributes.queryParams.id,
          "timestamp": now(),
          "name": payload.name
        }
      ]]]>
  </os:value>
</os:store>
```

Store 操作を使用し、​`failIfPresent`​ パラメーターの値に応じて、新しい値を保存するか、既存の値を更新することができます。このパラメーターが ​`false`​ (デフォルト) に設定されている場合、そのキーに関連付けられている既存の値があれば上書きされます。パラメーターが true に設定されている場合、代わりに ​`OS:KEY_ALREADY_EXISTS`​ エラーが発生します。

null 値の保存はできません。ただし一般的には、次のように式またはトランスフォーメーションを評価して値を取得します。

- 値が null ではないことを検査します。
- 値が存在すれば保存します。
- それ以外の場合は、何も行いません。

`failOnNullValue`​ パラメーターでこのユースケースが簡略化されます。デフォルト (​`true`​) では、null 値が指定されると ​`OS:NULL_VALUE`​ エラーが発生します。ただし、パラメーターが ​`false`​ に設定されている場合、null 値が指定されるとこの操作では何も行われません。エラーは発生せず、値は変更されません。

## [](#オブジェクトストアの情報の取得)オブジェクトストアの情報の取得

Retrieve 操作は、特定のオブジェクトストアキーの値を取得します。

キーを使用して 1 つの値を次のように取得できます。

```xml
<os:retrieve key="userId" />
```

ストアにキーが存在しない場合、次のような操作を使用してデフォルト値を指定できます。

```xml
<os:retrieve key="timestamp">
  <os:default-value>#[now()]</os:default-value>
</os:retrieve>
```

複雑な構造のデフォルトは次のように指定します。

```xml
<os:retrieve key="state">
  <os:default-value>
    <![CDATA[#[
     output application/json
     ---
     {
        "id": attributes.queryParams.id,
        "timestamp": now(),
        "name": payload.name
      }
    ]]]>
  </os:default-value>
</os:retrieve>
```

`defaultValue`​ パラメーターは、特定のキーに値が存在しないケースを処理します。このパラメーターを指定せず、操作で null 値に解決された場合、OS:KEY\_NOT\_FOUND​ エラーがスローされます。それ以外の場合、​`defaultValue`​ が返されますが保存されません。

<table><tbody><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content">すべてのオブジェクトストア操作はキーレベルで同期されます。操作の実行中、他の操作は同じオブジェクトストア上の同じキーにアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。</td></tr></tbody></table>