# mulesoft Object Store Connector - Full Documentation # Object Store Connector **リファレンス:**​ ​[Object Store Connector リファレンス](https://docs.mulesoft.com/jp/object-store-connector/1.1/object-store-connector-reference) Object Store Connector は、シンプルなキー-値ストレージを可能にする Mule コンポーネントです。多種多様なユースケースに使用できますが、主に次の場合を対象に設計されています。 - ウォーターマークなど、同期情報を保存する。 - アクセストークンなど、一時的な情報を保存する。 - ユーザー情報を保存する。 さらに、Mule Runtime はオブジェクトストアを使用して独自のコンポーネントの一部をサポートしています。たとえば次のようなものがあります。 - Cache モジュールはオブジェクトストアを使用してすべてのキャッシュデータを管理します。 - OAuth Module (およびすべての OAuth 対応コネクタ) は、オブジェクトストアを使用してアクセストークンと更新トークンを保存します。 ## [](#オブジェクトストアの制限事項)オブジェクトストアの制限事項 オブジェクトストアは、万能のデータストレージソリューションではありません。データベースの代わりにはならず、すべてのユースケースに適しているわけではありません。何よりも重要なのは、トランザクション型のアクセスと変更をサポートしていない点です。 [ACID](https://en.wikipedia.org/wiki/ACID)​ セマンティクスが必要なユースケースの場合、または同じキーを並行して更新することが期待される場合は、別のソリューションを検討してください。 ## [](#デフォルトオブジェクトストアの使用)デフォルトオブジェクトストアの使用 各 Mule アプリケーションには、デフォルトで、​_設定不要_​で常にアプリケーションが使用できる永続的なオブジェクトストアがあります。フローはこれを使用してデータを保持し、共有できます。 デフォルトオブジェクトストアを使用する場合、オブジェクトストアの ​`key`​ を指定できます。その際、オブジェクトストア操作用のオブジェクトストア参照を選択または作成したり、オブジェクトストアコンポーネントの XML 要素に ​`objectStore`​ 属性を指定したりする必要はありません。 Mule アプリケーションは Anypoint Platform Runtime Manager を使用して CloudHub ワーカーにデプロイされますが、デフォルトオブジェクトストアのコンテンツはアプリケーションの ​**\[Application Data (アプリケーションデータ)\]**​ ページの Runtime Manager に表示されません。 重要なのは、Runtime Manager の \[Application Data (アプリケーションデータ)\] タブに表示されるオブジェクトストアは、デフォルトオブジェクトストアのみであると理解することです。 ## [](#カスタムオブジェクトストアの使用)カスタムオブジェクトストアの使用 カスタムオブジェクトストアでは、​`objectStore`​ 属性を指定する必要があります。これらのオブジェクトストアは、デフォルトオブジェクトストアとは異なる動作をするように設定できます。たとえば、オブジェクトストアが永続的か (Mule Runtime がクラッシュしてもオブジェクトストアのデータは存続する)、一時的か (Mule Runtime がクラッシュするとデータは失われる) を指定できます。カスタムオブジェクトストアを定義する一般的な理由として次のようなものがあります。 - 情報を異なるオブジェクトストアに保存することで分割する。 - 次のような高度なオブジェクトストア機能を使用する。 - 一時的/永続的ストレージ。 - 存続期間 (TTL) の指定。 - 最大容量の指定。 - 別のコンポーネントに別のオブジェクトストアを使用してデータを入力することで、共有状態を避ける。 - 別のコンポーネントに同じオブジェクトストアを使用してデータを入力することで、情報を共有する。 ## [](#関連情報)関連情報 - [オブジェクトストアの定義](https://docs.mulesoft.com/jp/object-store-connector/1.1/object-store-to-define-a-new-os) - [オブジェクトストアの情報の保存と取得](https://docs.mulesoft.com/jp/object-store-connector/1.1/object-store-to-store-and-retrieve) - [例: ウォーターマーク](https://docs.mulesoft.com/jp/object-store-connector/1.1/object-store-to-watermark) - [Object Store Connector リリースノート](https://docs.mulesoft.com/jp/release-notes/connector/object-store-connector-release-notes-mule-4) - [Anypoint Exchange の Object Store Connector](https://www.mulesoft.com/exchange/org.mule.connectors/mule-objectstore-connector/) # Object Store Connector **リファレンス:**​ ​[Object Store Connector リファレンス](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-connector-reference) Object Store Connector は、シンプルなキー-値ストレージを可能にする Mule コンポーネントです。多種多様なユースケースに使用できますが、主に次の場合を対象に設計されています。 - ウォーターマークなど、同期情報を保存する。 - アクセストークンなど、一時的な情報を保存する。 - ユーザー情報を保存する。 さらに、Mule Runtime はオブジェクトストアを使用して独自のコンポーネントの一部をサポートしています。たとえば次のようなものがあります。 - Cache モジュールはオブジェクトストアを使用してすべてのキャッシュデータを管理します。 - OAuth Module (およびすべての OAuth 対応コネクタ) は、オブジェクトストアを使用してアクセストークンと更新トークンを保存します。 ## [](#オブジェクトストアの制限事項)オブジェクトストアの制限事項 オブジェクトストアは、万能のデータストレージソリューションではありません。データベースの代わりにはならず、すべてのユースケースに適しているわけではありません。何よりも重要なのは、トランザクション型のアクセスと変更をサポートしていない点です。 [ACID](https://en.wikipedia.org/wiki/ACID)​ セマンティクスが必要なユースケースの場合、または同じキーを並行して更新することが期待される場合は、別のソリューションを検討してください。 ## [](#デフォルトオブジェクトストアの使用)デフォルトオブジェクトストアの使用 各 Mule アプリケーションには、デフォルトで、​_設定不要_​で常にアプリケーションが使用できる永続的なオブジェクトストアがあります。フローはこれを使用してデータを保持し、共有できます。 デフォルトオブジェクトストアを使用する場合、オブジェクトストアの ​`key`​ を指定できます。その際、オブジェクトストア操作用のオブジェクトストア参照を選択または作成したり、オブジェクトストアコンポーネントの XML 要素に ​`objectStore`​ 属性を指定したりする必要はありません。 Anypoint Platform Runtime Manager を使用して Mule アプリケーションを CloudHub ワーカーにデプロイします。永続的なオブジェクトストアを使用していてキー-値ペアが保存されている場合は、キー-値ペア (コンテンツ) が Runtime Manager に表示されます。 ## [](#カスタムオブジェクトストアの使用)カスタムオブジェクトストアの使用 カスタムオブジェクトストアでは、​`objectStore`​ 属性を指定する必要があります。これらのオブジェクトストアは、デフォルトオブジェクトストアとは異なる動作をするように設定できます。たとえば、オブジェクトストアが永続的か (Mule Runtime がクラッシュしてもオブジェクトストアのデータは存続する)、一時的か (Mule Runtime がクラッシュするとデータは失われる) を指定できます。カスタムオブジェクトストアを定義する一般的な理由として次のようなものがあります。 - 情報を異なるオブジェクトストアに保存することで分割する。 - 次のような高度なオブジェクトストア機能を使用する。 - 一時的/永続的ストレージ。 - 存続期間 (TTL) の指定。 - 最大容量の指定。 - 別のコンポーネントに別のオブジェクトストアを使用してデータを入力することで、共有状態を避ける。 - 別のコンポーネントに同じオブジェクトストアを使用してデータを入力することで、情報を共有する。 ## [](#関連情報)関連情報 - [オブジェクトストアの定義](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-to-define-a-new-os) - [オブジェクトストアの情報の保存と取得](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-to-store-and-retrieve) - [例: ウォーターマーク](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-to-watermark) - [Anypoint Exchange の Object Store Connector](https://www.mulesoft.com/exchange/org.mule.connectors/mule-objectstore-connector/) # Object Store Connector の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションでコネクタにアクセスできます。 コネクタを Studio に追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力します。さらに、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/os http://www.mulesoft.org/schema/mule/os/current/mule-os.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml org.mule.connectors mule-objectstore-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`object store`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Object Store Connector の XML と Maven のサポート XML で Mule アプリケーションを手動でコーディングすることもできますが、Anypoint Studio を使用した方が効率的です。 Anypoint Studio の XML エディターまたはテキストエディターから Mule Runtime Engine (Mule) アプリケーションを手動でコーディングする場合、参照ステートメントを XML Mule フローと Apache Maven ​`pom.xml`​ ファイルの両方に追加することで、アプリケーションでコネクタにアクセスできます。 コネクタを Studio に追加すると、Studio は自動的に XML コードにコネクタの名前空間およびスキーマの場所を入力します。さらに、​`pom.xml`​ ファイルに連動関係を追加します。 ## [](#コネクタの名前空間の追加)コネクタの名前空間の追加 次のコードを設定 XML のヘッダーの ​``​ タグ内に貼り付けます。 ```xml http://www.mulesoft.org/schema/mule/os http://www.mulesoft.org/schema/mule/os/current/mule-os.xsd ``` 次の例は、​``​ XML ブロック内に名前空間ステートメントが配置される方法を示しています。 ```xml ``` ## [](#pom-ファイルの連動関係の追加)POM ファイルの連動関係の追加 Apache Maven ​`pom.xml`​ ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを ​`pom.xml`​ ファイルに含めてこのコネクタにアクセスできるようにします: ```xml org.mule.connectors mule-objectstore-connector x.x.x mule-plugin ``` `x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。 最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。 1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。 2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。 3. Exchange で、「​`object store`​」を検索します。 4. コネクタを選択します。 5. 画面の右上付近にある ​**\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Object Store Connector のトラブルシューティング オブジェクトストア用 Anypoint Connector (Object Store Connector) のトラブルシューティングを行うには、冗長ログの有効化と、スローされる一般的なメッセージの解釈に関する情報を理解しておきます。 ## [](#冗長ログの有効化)冗長ログの有効化 アプリケーションと Object Store Connector のやりとりが失敗する理由の理解を深めるには、コネクタの冗長ログを一時的に有効にします。 Mule アプリケーションのパフォーマンスに影響するため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。 設定ファイルで冗長ログを有効にする手順は、次のとおりです。 1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。 2. アプリケーションのプロジェクト名を開きます。 3. `src/main/resources`​ パスフォルダーを開きます。 4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。 5. ``​ タグ内に ​``​ タグを追加します。 ```xml ... ... ``` 6. アプリケーションの変更を保存します。 7. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。 ## [](#一般的なスローを理解する)一般的なスローを理解する ここでは、一般的なスローメッセージとその解決方法を示します。 - OS:KEY\_ALREADY\_EXISTS The Mule app tries to store an object, but the object store already has a value for that key. (Mule アプリケーションでオブジェクトを保存しようとしていますが、オブジェクトストアにはすでにそのキーの値があります。) - OS:STORE\_NOT\_AVAILABLE Cannot access the object store at this time. (現在、オブジェクトストアにアクセスできません。) - OS:INVALID\_KEY The supplied key is invalid. (無効なキーが指定されました。)Keys cannot be null nor blank. (キーは null または空白にできません。) - OS:KEY\_NOT\_FOUND The object store must access a value, but the supplied key doesn’t exist in that store. (オブジェクトストアは値にアクセスする必要がありますが、指定されたキーがそのストアに存在しません。) - OS:NULL\_VALUE A null value was supplied to the object store. (null 値がオブジェクトストアに提供されました。)Null values are not supported. (Null 値はサポートされていません。) ## [](#関連情報)関連情報 - [Object Store Connector リファレンス](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-connector-reference) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [Known Issues](https://help.salesforce.com/s/issues) # Object Store Connector の例 Object Store 用 Anypoint Connector (オブジェクトコネクタ) を最大限活用するには、次のコネクタ操作の設定例を参照してください。 - [オブジェクトストアの定義](https://docs.mulesoft.com/jp/object-store-connector/1.1/object-store-to-define-a-new-os) Mule アプリケーションで使用するグローバルまたは非公開オブジェクトストアの設定を定義します。 - [オブジェクトストアでの情報の保存と取得](https://docs.mulesoft.com/jp/object-store-connector/1.1/object-store-to-store-and-retrieve) オブジェクトストアで情報を保存および取得するように ​**Store**​ および ​**Retrieve**​ 操作を設定します。 - [オブジェクトストアでのウォーターマークのセットアップ](https://docs.mulesoft.com/jp/object-store-connector/1.1/object-store-to-watermark) 定期的な同期を次に実行するときの再開時点を保存および取得するようにウォーターマーク技法をセットアップする Object Store Connector パラメーターを設定します。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Object Store Connector の例 Object Store 用 Anypoint Connector (オブジェクトコネクタ) を最大限活用するには、次のコネクタ操作の設定例を参照してください。 - [オブジェクトストアの定義](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-to-define-a-new-os) Mule アプリケーションで使用するグローバルまたは非公開オブジェクトストアの設定を定義します。 - [オブジェクトストアでの情報の保存と取得](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-to-store-and-retrieve) オブジェクトストアで情報を保存および取得するように ​**Store**​ および ​**Retrieve**​ 操作を設定します。 - [オブジェクトストアでのウォーターマークのセットアップ](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-to-watermark) 定期的な同期を次に実行するときの再開時点を保存および取得するようにウォーターマーク技法をセットアップする Object Store Connector パラメーターを設定します。 ## [](#関連情報)関連情報 - [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Object Store Connector リファレンス Object Store Connector v1.1.3 サポートカテゴリ: 選択 オブジェクトストアインスタンスのアクセスと作成を行う機能を提供するコネクタ。 ## [](#設定)設定 * * * ### [](#config)設定 デフォルト設定 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定に指定する接続型。

x

#### [](#接続種別)接続種別 ##### [](#config_connection)Connection (接続) Mule Runtime のデフォルトの ObjectStoreManager を返す ConnectionProvider。 ###### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。true に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#操作)操作 - [Clear](#clear) - [Contains](#contains) - [Remove](#remove) - [Retrieve](#retrieve) - [Retrieve All](#retrieveAll) - [Retrieve All Keys](#retrieveAllKeys) - [Store](#store)​ ### [](#clear)Clear `` ストア内の全コンテンツを削除します。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

#### [](#スロー)スロー - OS:STORE\_NOT\_AVAILABLE ### [](#contains)Contains `` 特定のキーに関連付けられている値があるかどうか確認します。キーに対する値がない場合、false が返されます。 この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにはアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

チェックするオブジェクトのキー。

x

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力)出力

型

Boolean (ブール)

#### [](#スロー-2)スロー - OS:INVALID\_KEY - OS:STORE\_NOT\_AVAILABLE ### [](#remove)Remove `` 特定のキーに関連付けられている値を削除します。キーに対する値がない場合、OS:KEY\_NOT\_FOUND​ エラーがスローされます。 この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにアクセスできません。 Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

削除するオブジェクトのキー。

x

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

#### [](#スロー-3)スロー - OS:INVALID\_KEY - OS:STORE\_NOT\_AVAILABLE - OS:KEY\_NOT\_FOUND ### [](#retrieve)Retrieve `` 特定のキーについて保存されている値を取得します。キーに対する値がない場合、動作は defaultValue パラメーターに応じて異なります。 パラメーターが指定されなかったか、または null 値に解決された場合は OS:KEY\_NOT\_FOUND​ エラーがスローされます。それ以外の場合、defaultValue が返されますが保存されません。 さらに、この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにはアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

取得する値のキー。

x

デフォルト値

Any (任意)

ストアにキーが存在しない場合に返される値。

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力-2)出力

型

Any (任意)

#### [](#スロー-4)スロー - OS:INVALID\_KEY - OS:KEY\_NOT\_FOUND - OS:STORE\_NOT\_AVAILABLE ### [](#retrieveAll)Retrieve All `` ストア内の全キー/値ペアを取得します。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力-3)出力

型

Object (オブジェクト)

#### [](#スロー-5)スロー - OS:STORE\_NOT\_AVAILABLE ### [](#retrieveAllKeys)Retrieve All Keys `` 現在オブジェクトストアに値が保持されているすべてのキーを含むリストを返します。 #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力-4)出力

型

Array of String (文字列の配列)

#### [](#スロー-6)スロー - OS:STORE\_NOT\_AVAILABLE ### [](#store)Store `` 特定のキーを使用して特定の値を保存します。この操作は、failIfPresent の値に応じて、新しい値を保存するか、既存の値を更新する場合に使用できます。パラメーターが ​`false`​ (デフォルト値) に設定されている場合、そのキーに関連付けられている既存の値があれば上書きされます。パラメーターが ​`true`​ に設定されている場合、代わりに ​`OS:KEY_ALREADY_EXISTS`​ エラーがスローされます。 もう 1 つの重要な考慮事項は null 値に関するものです。null 値の保存は許可されていません。ただし、一般的なユースケースでは、値を (ほとんどは式またはトランスフォーメーションを評価して) 取得し、値が null ではないことを検査し、値が存在すれば保存して他には何も行いません。​`failOnNullValue`​ パラメーターでこのユースケースが簡略化されます。​`false`​ に設定すると、コネクタは null 値をスキップするので、​``​ ルーターを使用して状況を確認する必要がなくなります。デフォルト値の ​`true`​ を使用すると、コネクタは ​`NULL_VALUE`​ エラーをスローします。 さらに、この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにはアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-9)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

保存する値のキー。

x

Value (値)

Any (任意)

保存する値。​failOnNullValue​ が true に設定されている場合、null にはできません。

#[payload]

Fail If Present (存在する場合は失敗)

Boolean (ブール)

キーがすでにストアにある場合、失敗するか、または既存の値を更新するか。

false

Fail On Null Value (null 値の場合は失敗)

Boolean (ブール)

値が null の場合、失敗するか、操作をスキップするか。

true

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

#### [](#スロー-7)スロー - OS:INVALID\_KEY - OS:KEY\_ALREADY\_EXISTS - OS:NULL\_VALUE - OS:STORE\_NOT\_AVAILABLE ## [](#型)型 ### [](#Reconnection)Reconnection (再接続)
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。true に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#reconnect)Reconnect (再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

Count (数)

Number (数値)

再接続の試行回数。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#reconnect-forever)Reconnect Forever (繰り返し再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#objectStore)Object Store (オブジェクトストア)
これらの設定は ​Object Store v2​ には適用されません。
項目 型 説明 デフォルト値 必須

Persistent (永続的)

Boolean (ブール)

このストアが永続的か、一時的か。

true

Max entries (最大エントリ数)

Number (数値)

許容される最大エントリ数。有効期限スレッドが実行されると、超過分のエントリは削除されます。指定しないと、記述されたオブジェクトストアのサイズ境界はなくなります。

Entry ttl (エントリ TTL)

Number (数値)

エントリのタイムアウト。指定しないと、記述されたオブジェクトストアの時間境界はなくなります。

Entry ttl unit (エントリ TTL 単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

エントリの存続期間 (​#entryTtl​)。

SECONDS

Expiration interval (有効期限間隔)

Number (数値)

有効期限スレッドを実行する頻度。デフォルト値は 1 分です。

expirationInterval​ 項目を設定した場合は ​maxEntries​ または ​entryTtl​ 項目も設定する必要があります。どちらも設定しないと、​Expiration Interval​ は効果がなく、有効期限スレッドは実行されません。 expirationInterval​ を 0 または負の値に設定すると、オブジェクトストアの有効期限は無期限となります。

1

Expiration interval unit (有効期限間隔単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

有効期限間隔 (​#expirationInterval​)。

MINUTES

設定リファレンス

このオブジェクトストアを宣言するために使用する ​os:config​ 要素への参照。

設定しないと、Mule Runtime のデフォルト ObjectStoreManager が使用されます。このパラメーターは、デフォルト以外のオブジェクトストア実装を使用する場合にのみ設定する必要があります。たとえば、Redis や JDBC に基づいたストアを使用する場合です。

### [](#objectStorev2)Object Store (Object Store v2) (オブジェクトストア (Object Store v2))
これらの設定は ​Object Store v2​ にのみ適用されます。
項目 型 説明 デフォルト値 必須

Persistent (永続的)

Boolean (ブール)

このストアが永続的か、一時的か。

true

Max entries (最大エントリ数)

Object Store v2 では設定できません​。

最大エントリ数は無制限です。

Entry ttl (エントリ TTL)

Number (数値)

エントリのタイムアウト。

expirationInterval​ が ​0​ 以下の場合は無視されます。

  • 最小値: 1 秒

  • 最大値: 30 日

項目に以下の値が含まれる場合:

  • 値なし

    • Mule バージョン 4.2.1 以降: ローリング TTL

    • 4.2.1 より前の Mule バージョン: デフォルトでは 30 日の静的 TTL

  • 0​ 以下

    TTL は静的であり、最大値 (2592000 秒/30 日) に設定されます。

  • 正数

    TTL は指定された値 (1 ~ 2592000 秒) に設定されます。

  • 30 日より大きい

    TTL は最大値 (2592000 秒/30 日) に設定されます。

ローリング TTL と静的 TTL の動作についての詳細は、​「Object Store v2 でのデータ存続期間は?」​を参照してください。

2592000 秒 (30 日)

Entry ttl unit (エントリ TTL 単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

エントリの存続期間 (​entryTtl​) の単位。

SECONDS

Expiration interval (有効期限間隔)

正数

有効期限スレッドを実行する頻度。

expirationInterval​ を ​entryTtl​ の値未満の正の値に設定します。

expirationInterval​ を 0 または負の値に設定すると、​entryTtl​ は無視されます。

expirationInterval​ 項目を設定した場合は ​entryTtl​ 項目を設定する必要があります。設定しないと、無視されます。

1 分

Expiration interval unit (有効期限間隔単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

有効期限間隔 (​expirationInterval​)。

MINUTES

設定リファレンス

このオブジェクトストアを宣言するために使用する ​os:config​ 要素への参照。

設定しないと、Mule Runtime のデフォルト ObjectStoreManager が使用されます。このパラメーターは、デフォルト以外のオブジェクトストア実装を使用する場合にのみ設定する必要があります。たとえば、Redis や JDBC に基づいたストアを使用する場合です。

### [](#ObjectStoreConnector)Object Store Connector
項目 型 説明 デフォルト値 必須

Config Name (設定名)

String (文字列)

### [](#privateObjectStore)Private Object Store (非公開オブジェクトストア)
これらの設定は ​Object Store v2​ には適用されません。
項目 型 説明 デフォルト値 必須

Alias (別名)

String (文字列)

管理ユーザーインターフェースでこのストアを参照するためのわかりやすい名前。このストアを簡単に識別したい場合は、この別名を指定してください。指定しないと、Mule は自動的に ID を生成します。別名を使用して、OAuth トークンの更新動作の一貫性を確保します。別名がない場合、各 Mule アプリケーションノードで独自のパーティションが作成されます。これにより、OAuth トークンの更新で問題が発生する可能性があります。各ノードでトークンの更新を個別に行う可能性があるためです。

別名を提供することで、Mule アプリケーションが再起動間で確実に同じパーティションを使用するようになります。キャッシュされたキーや値が期限切れにならない限り、キャッシュスコープがヒットし、Mule アプリケーションは引き続き同じトークンを使用します。これにより、不要なトークン更新が回避され、アプリケーションの効率が向上します。

Persistent (永続的)

Boolean (ブール)

このストアが永続的か、一時的か。

true

Max entries (最大エントリ数)

Number (数値)

許容される最大エントリ数。有効期限スレッドが実行されると、超過分のエントリは削除されます。指定しないと、記述されたオブジェクトストアのサイズ境界はなくなります。

Entry ttl (エントリ TTL)

Number (数値)

エントリのタイムアウト。指定しないと、記述されたオブジェクトストアの時間境界はなくなります。

Entry ttl unit (エントリ TTL 単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

エントリの存続期間 (​#entryTtl​)。

SECONDS

Expiration interval (有効期限間隔)

Number (数値)

有効期限スレッドを実行する頻度。デフォルト値は 1 分です。

expirationInterval​ 項目を設定した場合は ​maxEntries​ または ​entryTtl​ 項目も設定する必要があります。どちらも設定しないと、​expirationInterval​ は効果がなく、有効期限スレッドは実行されません。​expirationInterval​ を 0 または負の値に設定すると、オブジェクトストアの有効期限は無期限となります。

1

Expiration interval unit (有効期限間隔単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

有効期限間隔 (​#expirationInterval​)。

MINUTES

設定リファレンス

このオブジェクトストアを宣言するために使用する ​os:config​ 要素への参照。

設定しないと、Mule Runtime のデフォルト ObjectStoreManager が使用されます。このパラメーターは、デフォルト以外のオブジェクトストア実装を使用する場合にのみ設定する必要があります。たとえば、Redis や JDBC に基づいたストアを使用する場合です。

## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # Object Store Connector リファレンス Object Store Connector v1.2.0 サポートカテゴリ: Select オブジェクトストアインスタンスのアクセスと作成を行う機能を提供するコネクタ。 ## [](#設定)設定 * * * ### [](#config)設定 デフォルト設定 #### [](#パラメーター)パラメーター
名前 型 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

Connection (接続)

この設定に指定する接続型。

x

#### [](#接続種別)接続種別 ##### [](#config_connection)Connection (接続) Mule Runtime のデフォルトの ObjectStoreManager を返す ConnectionProvider。 ###### [](#パラメーター-2)パラメーター
名前 型 説明 デフォルト値 必須

Reconnection (再接続)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。true に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

## [](#操作)操作 - [Clear](#clear) - [Contains](#contains) - [Remove](#remove) - [Retrieve](#retrieve) - [Retrieve All](#retrieveAll) - [Retrieve All Keys](#retrieveAllKeys) - [Store](#store)​ ### [](#clear)Clear `` ストア内の全コンテンツを削除します。 #### [](#パラメーター-3)パラメーター
名前 型 説明 デフォルト値 必須

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

#### [](#スロー)スロー - OS:STORE\_NOT\_AVAILABLE ### [](#contains)Contains `` 特定のキーに関連付けられている値があるかどうか確認します。キーに対する値がない場合、false が返されます。 この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにはアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-4)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

チェックするオブジェクトのキー。

x

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力)出力

型

Boolean (ブール)

#### [](#スロー-2)スロー - OS:INVALID\_KEY - OS:STORE\_NOT\_AVAILABLE ### [](#remove)Remove `` 特定のキーに関連付けられている値を削除します。キーに対する値がない場合、OS:KEY\_NOT\_FOUND​ エラーがスローされます。 この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにアクセスできません。 Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-5)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

削除するオブジェクトのキー。

x

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

#### [](#スロー-3)スロー - OS:INVALID\_KEY - OS:STORE\_NOT\_AVAILABLE - OS:KEY\_NOT\_FOUND ### [](#retrieve)Retrieve `` 特定のキーについて保存されている値を取得します。キーに対する値がない場合、動作は defaultValue パラメーターに応じて異なります。 パラメーターが指定されなかったか、または null 値に解決された場合は OS:KEY\_NOT\_FOUND​ エラーがスローされます。それ以外の場合、defaultValue が返されますが保存されません。 さらに、この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにはアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-6)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

取得する値のキー。

x

デフォルト値

Any (任意)

ストアにキーが存在しない場合に返される値。

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力-2)出力

型

Any (任意)

#### [](#スロー-4)スロー - OS:INVALID\_KEY - OS:KEY\_NOT\_FOUND - OS:STORE\_NOT\_AVAILABLE ### [](#retrieveAll)Retrieve All `` ストア内の全キー/値ペアを取得します。 #### [](#パラメーター-7)パラメーター
名前 型 説明 デフォルト値 必須

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力-3)出力

型

Object (オブジェクト)

#### [](#スロー-5)スロー - OS:STORE\_NOT\_AVAILABLE ### [](#retrieveAllKeys)Retrieve All Keys `` 現在オブジェクトストアに値が保持されているすべてのキーを含むリストを返します。 #### [](#パラメーター-8)パラメーター
名前 型 説明 デフォルト値 必須

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

Target Variable (対象変数)

String (文字列)

操作の出力を保存する変数の名前。

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。この式の結果が対象変数に保存されます。

#[payload]

#### [](#出力-4)出力

型

Array of String (文字列の配列)

#### [](#スロー-6)スロー - OS:STORE\_NOT\_AVAILABLE ### [](#store)Store `` 特定のキーを使用して特定の値を保存します。この操作は、failIfPresent の値に応じて、新しい値を保存するか、既存の値を更新する場合に使用できます。パラメーターが ​`false`​ (デフォルト値) に設定されている場合、そのキーに関連付けられている既存の値があれば上書きされます。パラメーターが ​`true`​ に設定されている場合、代わりに ​`OS:KEY_ALREADY_EXISTS`​ エラーがスローされます。 もう 1 つの重要な考慮事項は null 値に関するものです。null 値の保存は許可されていません。ただし、一般的なユースケースでは、値を (ほとんどは式またはトランスフォーメーションを評価して) 取得し、値が null ではないことを検査し、値が存在すれば保存して他には何も行いません。​`failOnNullValue`​ パラメーターでこのユースケースが簡略化されます。​`false`​ に設定すると、コネクタは null 値をスキップするので、​``​ ルーターを使用して状況を確認する必要がなくなります。デフォルト値の ​`true`​ を使用すると、コネクタは ​`NULL_VALUE`​ エラーをスローします。 さらに、この操作はキーレベルで同期されます。この操作の実行中、他の操作は同じオブジェクトストア上の同じキーにはアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 #### [](#パラメーター-9)パラメーター
名前 型 説明 デフォルト値 必須

Key (キー)

String (文字列)

保存する値のキー。

x

Value (値)

Any (任意)

保存する値。​failOnNullValue​ が true に設定されている場合、null にはできません。

#[payload]

Fail If Present (存在する場合は失敗)

Boolean (ブール)

キーがすでにストアにある場合、失敗するか、または既存の値を更新するか。

false

Fail On Null Value (null 値の場合は失敗)

Boolean (ブール)

値が null の場合、失敗するか、操作をスキップするか。

true

Object Store (オブジェクトストア)

使用するオブジェクトストアへの参照。定義されていない場合は、Runtime のデフォルトパーティションが使用されます。

#### [](#スロー-7)スロー - OS:INVALID\_KEY - OS:KEY\_ALREADY\_EXISTS - OS:NULL\_VALUE - OS:STORE\_NOT\_AVAILABLE ## [](#型)型 ### [](#Reconnection)Reconnection (再接続)
項目 型 説明 デフォルト値 必須

Fails Deployment (デプロイメントに失敗)

Boolean (ブール)

アプリケーションがデプロイされると、すべてのコネクタで接続テストが実行されます。true に設定されている場合、関連する再接続戦略をすべて実行した後にテストに合格しないと、デプロイメントが失敗します。

Reconnection Strategy (再接続戦略)

使用する再接続戦略。

### [](#reconnect)Reconnect (再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

Count (数)

Number (数値)

再接続の試行回数。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#reconnect-forever)Reconnect Forever (繰り返し再接続)
項目 型 説明 デフォルト値 必須

Frequency (頻度)

Number (数値)

再接続する頻度 (ミリ秒)。

blocking (ブロック)

Boolean (ブール)

false の場合、再接続戦略が個別の非ブロックスレッドで実行されます。

true

### [](#objectStore)Object Store (オブジェクトストア)
これらの設定は ​Object Store v2​ には適用されません。
項目 型 説明 デフォルト値 必須

Persistent (永続的)

Boolean (ブール)

このストアが永続的か、一時的か。

true

Max entries (最大エントリ数)

Number (数値)

許容される最大エントリ数。有効期限スレッドが実行されると、超過分のエントリは削除されます。指定しないと、記述されたオブジェクトストアのサイズ境界はなくなります。

Entry ttl (エントリ TTL)

Number (数値)

エントリのタイムアウト。指定しないと、記述されたオブジェクトストアの時間境界はなくなります。

Entry ttl unit (エントリ TTL 単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

エントリの存続期間 (​#entryTtl​)。

SECONDS

Expiration interval (有効期限間隔)

Number (数値)

有効期限スレッドを実行する頻度。デフォルト値は 1 分です。

expirationInterval​ 項目を設定した場合は ​maxEntries​ または ​entryTtl​ 項目も設定する必要があります。どちらも設定しないと、​Expiration Interval​ は効果がなく、有効期限スレッドは実行されません。 expirationInterval​ を 0 または負の値に設定すると、オブジェクトストアの有効期限は無期限となります。

1

Expiration interval unit (有効期限間隔単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

有効期限間隔 (​#expirationInterval​)。

MINUTES

設定リファレンス

このオブジェクトストアを宣言するために使用する ​os:config​ 要素への参照。

設定しないと、Mule Runtime のデフォルト ObjectStoreManager が使用されます。このパラメーターは、デフォルト以外のオブジェクトストア実装を使用する場合にのみ設定する必要があります。たとえば、Redis や JDBC に基づいたストアを使用する場合です。

### [](#objectStorev2)Object Store (Object Store v2) (オブジェクトストア (Object Store v2))
これらの設定は ​Object Store v2​ にのみ適用されます。
項目 型 説明 デフォルト値 必須

Persistent (永続的)

Boolean (ブール)

このストアが永続的か、一時的か。

true

Max entries (最大エントリ数)

Object Store v2 では設定できません​。

最大エントリ数は無制限です。

Entry ttl (エントリ TTL)

Number (数値)

エントリのタイムアウト。

expirationInterval​ が ​0​ 以下の場合は無視されます。

  • 最小値: 1 秒

  • 最大値: 30 日

項目に以下の値が含まれる場合:

  • 値なし

    • Mule バージョン 4.2.1 以降: ローリング TTL

    • 4.2.1 より前の Mule バージョン: デフォルトでは 30 日の静的 TTL

  • 0​ 以下

    TTL は静的であり、最大値 (2592000 秒/30 日) に設定されます。

  • 正数

    TTL は静的であり、指定された値 (1 ~ 2592000 秒) に設定されます。

  • 30 日より大きい

    TTL は静的であり、最大値 (2592000 秒/30 日) に設定されます。

ローリング TTL と静的 TTL の動作についての詳細は、​「存続期間 (TTL)」​を参照してください。

2592000 秒 (30 日)

Entry ttl unit (エントリ TTL 単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

エントリの存続期間 (​entryTtl​) の単位。

SECONDS

Expiration interval (有効期限間隔)

正数

有効期限スレッドを実行する頻度。

expirationInterval​ 項目を設定するには ​entryTtl​ 項目を設定する必要があります。設定しないと、この項目は無視されます。

  • expirationInterval​ を ​entryTtl​ の値未満の正の値に設定した場合、エントリは ​entryTtl​ 設定に基づいて期限切れになります。

  • expirationInterval​ を 0 または負の値に設定すると、​entryTtl​ は無視されます。

1 分

Expiration interval unit (有効期限間隔単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

有効期限間隔 (​expirationInterval​)。

MINUTES

設定リファレンス

このオブジェクトストアを宣言するために使用する ​os:config​ 要素への参照。

設定しないと、Mule Runtime のデフォルト ObjectStoreManager が使用されます。このパラメーターは、デフォルト以外のオブジェクトストア実装を使用する場合にのみ設定する必要があります。たとえば、Redis や JDBC に基づいたストアを使用する場合です。

### [](#ObjectStoreConnector)Object Store Connector
項目 型 説明 デフォルト値 必須

Config Name (設定名)

String (文字列)

### [](#privateObjectStore)Private Object Store (非公開オブジェクトストア)
これらの設定は ​Object Store v2​ には適用されません。
項目 型 説明 デフォルト値 必須

Alias (別名)

String (文字列)

管理ユーザーインターフェースでこのストアを参照するためのわかりやすい名前。このストアを簡単に識別したい場合は、この別名を指定してください。指定しないと、Mule は自動的に ID を生成します。別名を使用して、OAuth トークンの更新動作の一貫性を確保します。別名がない場合、各 Mule アプリケーションノードで独自のパーティションが作成されます。これにより、OAuth トークンの更新で問題が発生する可能性があります。各ノードでトークンの更新を個別に行う可能性があるためです。

別名を提供することで、Mule アプリケーションが再起動間で確実に同じパーティションを使用するようになります。キャッシュされたキーや値が期限切れにならない限り、キャッシュスコープがヒットし、Mule アプリケーションは引き続き同じトークンを使用します。これにより、不要なトークン更新が回避され、アプリケーションの効率が向上します。

Persistent (永続的)

Boolean (ブール)

このストアが永続的か、一時的か。

true

Max entries (最大エントリ数)

Number (数値)

許容される最大エントリ数。有効期限スレッドが実行されると、超過分のエントリは削除されます。指定しないと、記述されたオブジェクトストアのサイズ境界はなくなります。

Entry ttl (エントリ TTL)

Number (数値)

エントリのタイムアウト。指定しないと、記述されたオブジェクトストアの時間境界はなくなります。

Entry ttl unit (エントリ TTL 単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

エントリの存続期間 (​#entryTtl​)。

SECONDS

Expiration interval (有効期限間隔)

Number (数値)

有効期限スレッドを実行する頻度。デフォルト値は 1 分です。

expirationInterval​ 項目を設定した場合は ​maxEntries​ または ​entryTtl​ 項目も設定する必要があります。どちらも設定しないと、​expirationInterval​ は効果がなく、有効期限スレッドは実行されません。​expirationInterval​ を 0 または負の値に設定すると、オブジェクトストアの有効期限は無期限となります。

1

Expiration interval unit (有効期限間隔単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

有効期限間隔 (​#expirationInterval​)。

MINUTES

設定リファレンス

このオブジェクトストアを宣言するために使用する ​os:config​ 要素への参照。

設定しないと、Mule Runtime のデフォルト ObjectStoreManager が使用されます。このパラメーターは、デフォルト以外のオブジェクトストア実装を使用する場合にのみ設定する必要があります。たとえば、Redis や JDBC に基づいたストアを使用する場合です。

## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) # オブジェクトストアでのウォーターマークのセットアップの例 ウォーターマークとは、定期的な同期が次に実行されるときに再開する時点を保存および取得する技法です。ウォーターマークは、オブジェクトストアの一般的な使用方法です。 ## [](#mule-3-ユーザーのための背景知識)Mule 3 ユーザーのための背景知識 ウォーターマークとは何か、MuleSoft が Mule 3 でその問題にどう対処しているかについての説明は、 [こちらのブログ記事](https://blogs.mulesoft.com/dev/anypoint-platform-dev/data-synchronizing-made-easy-with-mule-watermarks/)​を参照してください。 Mule 3 アプローチには、次の制限事項があります。 - Mule 3 ​``​ コンポーネントではカスタム ​`ObjectStore`​ の設定が可能ですが、それを作成するのは簡単ではありませんでした。Mule 4 ではこの問題が修正されています。 - ``​ 要素では、​``​ コンポーネント (Mule 4 で ​``​ に置き換え) が反復可能なペイロードを返す必要がありました。また、新しいウォーターマーク値を取得するには、そのペイロードを最後まで反復処理する必要がありました。その処理に失敗すると、値が不正確に更新されるか、一切更新されませんでした。 - フローでエラーが発生した場合、コンテンジェンシー値でウォーターマークを更新する方法はありませんでした。いつどのように値が更新されるかが、完全に明確化されてはいませんでした。 このユースケースをどうすれば改善できるか検討しているとき、問題の本当の根本は、実際には はまったく不要であることだと気付きました。これは単に、他のコンポーネントの制限事項の影響で存在していたのです。 - ウォーターマークの人為的な反復は、多くのデータセットが 1 回しか反復できないという事実を補う方法でしかありませんでした。特に、バイナリストリームを処理する場合や、コネクタで自動ページ設定を行う場合がこれに当てはまります。Mule 4 では、この問題は反復可能なストリーミング機能によって修正されました。 - コンポーネントによる ​`ObjectStore`​ の自動処理は、古い ​`ObjectStore`​ サポートの UX の問題を埋め合わせるためだけのものでした。新しいコネクタでより簡単なセマンティクスを提供できれば、まったく必要がなくなります。 ## [](#mule-4-の例)Mule 4 の例 この例は、Mule 4 を使用して Mule 3 ブログで説明されているユースケースを実行する方法を示しています。 ```xml 2017-09-11T00:00:00.000Z " ++ vars.watermark] ]]> #[max(payload map $.LastModifiedDate)] ``` これは、特定の種類のトリガーを必要としない汎用フローの例です。別のフローからこのフローを呼び出したり、​``​ を使用してフローをトリガーしたりする場合がありますが、どの種類のトリガーも強制せずに、ウォーターマークのセマンティクスを作成できます。 次にこの例では、ウォーターマークのカスタム ​`ObjectStore`​ を定義していますが、暗黙的にどのアプリケーションでも使用可能な ​`ObjectStore`​ を使用することもできます。つまり、カスタム ​`ObjectStore`​ を定義する必要がありません。 フローは、最後のウォーターマーク値を取得することで開始します。Retrieve 操作 (​``​) では、最初にフローを実行するとき、最初のウォーターマークが計算される前に、使用可能なデフォルト値 (​``​) を指定します。この設定では、​` → `​ タイプのパターンが必要にならないようにしています。 Retrieve 操作は、ウォーターマーク値を対象値に保存して (​`target="watermark"`​)、コネクタがメッセージペイロードを上書きしないようにしています。これにより、フローが再利用可能でメンテナンスしやすくなります。Retrieve 操作の前に、任意の種類の操作を安全に追加できます。 クエリ (​``​) はウォーターマーク (​`vars.watermark`​) を使用して取得した結果を絞り込みます。 ``​ は、別のシステムへのデータの送信、トランスフォーメーションの実行など、必要な処理を実行する別のフローを参照します。 最後のステップ (​``​ 内) で、ウォーターマーク値を次のように更新します。 - 新しいウォーターマーク値は、最大の更新タイムスタンプにする必要があります。この例では ​``​ を使用してその値を取得する DataWeave 式を指定しています。 反復可能なストリーミング機能によって、ユーザーが反復ロジックを意識する必要がなくなっています。クエリ操作で自動ページ設定されても、この機能でユーザーが結果セットを再度反復できることが保証されます。 - `failIfPresent`​ は ​`false`​ に設定されているため、値が存在すれば更新されます。そうしないと、操作は初回のみ機能し、ウォーターマークがすでにオブジェクトストアにある場合は失敗します。 - `failOnNullValue`​ は ​`false`​ に設定されるため、クエリの結果が空の場合、DataWeave 式 (最大値を見つける) は null を返します。​`false`​ に設定すると、コネクタは null 値をスキップするので、 ルーターを使用して状況を確認する必要がなくなります。デフォルト値の ​`true`​ を使用すると、コネクタは ​`NULL_VALUE`​ エラーをスローします。 # オブジェクトストアでのウォーターマークのセットアップの例 ウォーターマークとは、定期的な同期が次に実行されるときに再開する時点を保存および取得する技法です。ウォーターマークは、オブジェクトストアの一般的な使用方法です。 ## [](#mule-3-ユーザーのための背景知識)Mule 3 ユーザーのための背景知識 ウォーターマークとは何か、MuleSoft が Mule 3 でその問題にどう対処しているかについての説明は、 [こちらのブログ記事](https://blogs.mulesoft.com/dev/anypoint-platform-dev/data-synchronizing-made-easy-with-mule-watermarks/)​を参照してください。 Mule 3 アプローチには、次の制限事項があります。 - Mule 3 ​``​ コンポーネントではカスタム ​`ObjectStore`​ の設定が可能ですが、それを作成するのは簡単ではありませんでした。Mule 4 ではこの問題が修正されています。 - ``​ 要素では、​``​ コンポーネント (Mule 4 で ​``​ に置き換え) が反復可能なペイロードを返す必要がありました。また、新しいウォーターマーク値を取得するには、そのペイロードを最後まで反復処理する必要がありました。その処理に失敗すると、値が不正確に更新されるか、一切更新されませんでした。 - フローでエラーが発生した場合、コンテンジェンシー値でウォーターマークを更新する方法はありませんでした。いつどのように値が更新されるかが、完全に明確化されてはいませんでした。 このユースケースをどうすれば改善できるか検討しているとき、問題の本当の根本は、実際には はまったく不要であることだと気付きました。これは単に、他のコンポーネントの制限事項の影響で存在していたのです。 - ウォーターマークの人為的な反復は、多くのデータセットが 1 回しか反復できないという事実を補う方法でしかありませんでした。特に、バイナリストリームを処理する場合や、コネクタで自動ページ設定を行う場合がこれに当てはまります。Mule 4 では、この問題は反復可能なストリーミング機能によって修正されました。 - コンポーネントによる ​`ObjectStore`​ の自動処理は、古い ​`ObjectStore`​ サポートの UX の問題を埋め合わせるためだけのものでした。新しいコネクタでより簡単なセマンティクスを提供できれば、まったく必要がなくなります。 ## [](#mule-4-の例)Mule 4 の例 この例は、Mule 4 を使用して Mule 3 ブログで説明されているユースケースを実行する方法を示しています。 ```xml 2017-09-11T00:00:00.000Z " ++ vars.watermark] ]]> #[max(payload map $.LastModifiedDate)] ``` これは、特定の種類のトリガーを必要としない汎用フローの例です。別のフローからこのフローを呼び出したり、​``​ を使用してフローをトリガーしたりする場合がありますが、どの種類のトリガーも強制せずに、ウォーターマークのセマンティクスを作成できます。 次にこの例では、ウォーターマークのカスタム ​`ObjectStore`​ を定義していますが、暗黙的にどのアプリケーションでも使用可能な ​`ObjectStore`​ を使用することもできます。つまり、カスタム ​`ObjectStore`​ を定義する必要がありません。 フローは、最後のウォーターマーク値を取得することで開始します。Retrieve 操作 (​``​) では、最初にフローを実行するとき、最初のウォーターマークが計算される前に、使用可能なデフォルト値 (​``​) を指定します。この設定では、​` → `​ タイプのパターンが必要にならないようにしています。 Retrieve 操作は、ウォーターマーク値を対象値に保存して (​`target="watermark"`​)、コネクタがメッセージペイロードを上書きしないようにしています。これにより、フローが再利用可能でメンテナンスしやすくなります。Retrieve 操作の前に、任意の種類の操作を安全に追加できます。 クエリ (​``​) はウォーターマーク (​`vars.watermark`​) を使用して取得した結果を絞り込みます。 ``​ は、別のシステムへのデータの送信、トランスフォーメーションの実行など、必要な処理を実行する別のフローを参照します。 最後のステップ (​``​ 内) で、ウォーターマーク値を次のように更新します。 - 新しいウォーターマーク値は、最大の更新タイムスタンプにする必要があります。この例では ​``​ を使用してその値を取得する DataWeave 式を指定しています。 反復可能なストリーミング機能によって、ユーザーが反復ロジックを意識する必要がなくなっています。クエリ操作で自動ページ設定されても、この機能でユーザーが結果セットを再度反復できることが保証されます。 - `failIfPresent`​ は ​`false`​ に設定されているため、値が存在すれば更新されます。そうしないと、操作は初回のみ機能し、ウォーターマークがすでにオブジェクトストアにある場合は失敗します。 - `failOnNullValue`​ は ​`false`​ に設定されるため、クエリの結果が空の場合、DataWeave 式 (最大値を見つける) は null を返します。​`false`​ に設定すると、コネクタは null 値をスキップするので、 ルーターを使用して状況を確認する必要がなくなります。デフォルト値の ​`true`​ を使用すると、コネクタは ​`NULL_VALUE`​ エラーをスローします。 # オブジェクトストアでの情報の保存と取得の例 Object Store Connector は、Store (​``​) および Retrieve (​``​) 操作を提供します。 Object Store Connector で使用する対象変数については、​[Mule Runtime 対象変数ドキュメント](https://docs.mulesoft.com/mule-runtime/latest/target-variables)​を参照してください。 ## [](#オブジェクトストアの情報の保存)オブジェクトストアの情報の保存 オブジェクトストアを使用して値を次のように保存できます。 ```xml ``` Store 操作を使用し、​`failIfPresent`​ パラメーターの値に応じて、新しい値を保存するか、既存の値を更新することができます。このパラメーターが ​`false`​ (デフォルト) に設定されている場合、そのキーに関連付けられている既存の値があれば上書きされます。パラメーターが true に設定されている場合、代わりに ​`OS:KEY_ALREADY_EXISTS`​ エラーが発生します。 null 値の保存はできません。ただし一般的には、次のように式またはトランスフォーメーションを評価して値を取得します。 - 値が null ではないことを検査します。 - 値が存在すれば保存します。 - それ以外の場合は、何も行いません。 `failOnNullValue`​ パラメーターでこのユースケースが簡略化されます。デフォルト (​`true`​) では、null 値が指定されると ​`OS:NULL_VALUE`​ エラーが発生します。ただし、パラメーターが ​`false`​ に設定されている場合、null 値が指定されるとこの操作では何も行われません。エラーは発生せず、値は変更されません。 ## [](#オブジェクトストアの情報の取得)オブジェクトストアの情報の取得 Retrieve 操作は、特定のオブジェクトストアキーの値を取得します。 キーを使用して 1 つの値を次のように取得できます。 ```xml ``` ストアにキーが存在しない場合、次のような操作を使用してデフォルト値を指定できます。 ```xml #[now()] ``` 複雑な構造のデフォルトは次のように指定します。 ```xml ``` `defaultValue`​ パラメーターは、特定のキーに値が存在しないケースを処理します。このパラメーターを指定せず、操作で null 値に解決された場合、OS:KEY\_NOT\_FOUND​ エラーがスローされます。それ以外の場合、​`defaultValue`​ が返されますが保存されません。
すべてのオブジェクトストア操作はキーレベルで同期されます。操作の実行中、他の操作は同じオブジェクトストア上の同じキーにアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。
# オブジェクトストアでの情報の保存と取得の例 Object Store Connector は、Store (​``​) および Retrieve (​``​) 操作を提供します。 Object Store Connector で使用する対象変数については、​[Mule Runtime 対象変数ドキュメント](https://docs.mulesoft.com/mule-runtime/latest/target-variables)​を参照してください。 ## [](#オブジェクトストアの情報の保存)オブジェクトストアの情報の保存 オブジェクトストアを使用して値を次のように保存できます。 ```xml ``` Store 操作を使用し、​`failIfPresent`​ パラメーターの値に応じて、新しい値を保存するか、既存の値を更新することができます。このパラメーターが ​`false`​ (デフォルト) に設定されている場合、そのキーに関連付けられている既存の値があれば上書きされます。パラメーターが true に設定されている場合、代わりに ​`OS:KEY_ALREADY_EXISTS`​ エラーが発生します。 null 値の保存はできません。ただし一般的には、次のように式またはトランスフォーメーションを評価して値を取得します。 - 値が null ではないことを検査します。 - 値が存在すれば保存します。 - それ以外の場合は、何も行いません。 `failOnNullValue`​ パラメーターでこのユースケースが簡略化されます。デフォルト (​`true`​) では、null 値が指定されると ​`OS:NULL_VALUE`​ エラーが発生します。ただし、パラメーターが ​`false`​ に設定されている場合、null 値が指定されるとこの操作では何も行われません。エラーは発生せず、値は変更されません。 ## [](#オブジェクトストアの情報の取得)オブジェクトストアの情報の取得 Retrieve 操作は、特定のオブジェクトストアキーの値を取得します。 キーを使用して 1 つの値を次のように取得できます。 ```xml ``` ストアにキーが存在しない場合、次のような操作を使用してデフォルト値を指定できます。 ```xml #[now()] ``` 複雑な構造のデフォルトは次のように指定します。 ```xml ``` `defaultValue`​ パラメーターは、特定のキーに値が存在しないケースを処理します。このパラメーターを指定せず、操作で null 値に解決された場合、OS:KEY\_NOT\_FOUND​ エラーがスローされます。それ以外の場合、​`defaultValue`​ が返されますが保存されません。
すべてのオブジェクトストア操作はキーレベルで同期されます。操作の実行中、他の操作は同じオブジェクトストア上の同じキーにアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。
# オブジェクトストアの定義の例 オブジェクトストアをアプリケーションでグローバルに定義して、名前による参照や、複数コンポーネント間での共有を可能にすることができます。または、特定のコンポーネント専用にオブジェクトストアを作成することができます。 すべてのオブジェクトストア操作は、グローバルオブジェクトストアを参照できます。たとえば、特定のユーザーが現在認証されているかどうかを検証する監査フローが必要だとします。定義したオブジェクトストアを参照するために、次のようなコードが考えられます。 `` ## [](#global_os)グローバルオブジェクトストアの定義 次の条件の 1 つ以上が該当する場合は、グローバルオブジェクトストアを使用する必要があります。 - コンポーネント間で状態を共有する必要がある: オブジェクトストアは名前で参照できるため、複数のコンポーネントが使用できます。設定がわずかに異なる Salesforce Connector の 2 つのインスタンスがあるとします。同じトークンを使用で両方のインスタンスを使用し、再度認証しなくてもすむようにできます。 - クラスターノード間で状態を共有する必要がある: Mule をクラスターモードで使用している場合、情報をクラスターのすべてのノードで使用できるようにすることがあります。それには、グローバルオブジェクトストアが最適です。 - アプリケーションのロジックで情報を使用する必要がある: Object Store Connector は、ストアの定義だけでなく、ストアの操作もできます。 グローバルオブジェクトストアは、最上位要素として定義され、他のコンポーネントから名前で参照できます。たとえば、次のようにアクセストークンのストアを作成するとします。 ```xml ```
上の値はメモリ内のオブジェクトストアにのみ適用され、Mule 4 クラウドの ​Object Store v2​ には適用されません。Object Store v2 では無制限のキーを使用できます。
この例では、次の機能を持つ ​`tokensStore`​ という名前のオブジェクトストアを定義します。 - 永続性 (​`persistent="true"`​): 値はディスクに保存され、システムが再起動しても存続できます。​`persistent`​ を ​`false`​ に設定すると、情報がメモリにのみ保存される一時的なストアになります。 - 有効期限: 有効期限スレッドは 30 分おきに実行され、存続期間 (TTL) または ​`maxEntries`​ 制限を超えた要素を破棄します。 - TTL が 1 時間: アクセストークンは非常に機密性が高いので、1 時間以上保持しない方がよいでしょう。それより古いエントリはすべて自動的に削除されます。 - サイズの制限: ストアが 100 エントリよりも大きくなった場合、有効期限スレッドが実行されると、超過分のスレッドは破棄されます。 上記の例は、説明のみを目的としたもので、アクセストークンを保存するオブジェクトストアの推奨設定を示しているわけではありません。 次の例では、OAuth による Salesforce Connector 認証を設定し、その後で前の例で作成したオブジェクトストア (​`tokensStore`​) にトークンを保存しています。 ```xml ``` ## [](#private_os)非公開オブジェクトストアの定義 - 共有状態がセキュリティリスクになる場合は、非公開オブジェクトストアを使用する必要があります。 - 誰もコネクタレベルからストアを操作できないようにする場合があります。たとえば、誰かが Clear 操作の設定をすべての認証データが削除されるように変更することは避ける必要があります。 その場合は、グローバル要素として定義されず、参照可能な名前のない非公開オブジェクトストアを定義できます。以下はその例です。 ```xml ``` この例では、冪等性のあるメッセージ検証機能と、その機能のみがアクセスできるカスタムストアを提供しています。 # オブジェクトストアの定義の例 オブジェクトストアをアプリケーションでグローバルに定義して、名前による参照や、複数コンポーネント間での共有を可能にすることができます。または、特定のコンポーネント用のオブジェクトストアを作成できます。 すべてのオブジェクトストア操作は、グローバルオブジェクトストアを参照できます。たとえば、特定のユーザーが現在認証済みであるかどうかを確認する監査フローでは、アプリケーションで定義したオブジェクトストアを参照できます。 `` ## [](#global_os)グローバルオブジェクトストアの定義 グローバルオブジェクトストアの使用は以下に適しています。 - コンポーネント間での状態の共有 オブジェクトストアは名前で参照されるため、複数のコンポーネントが使用できます。設定がわずかに異なる Salesforce Connector の 2 つのインスタンスがあるとします。両方の Salesforce Connector インスタンスに同じトークンを使用して、再認証を回避できます。 - クラスターノード間での状態の共有 クラスターモードで Mule を使用し、情報をクラスターのすべてのノードで使用できるようにします。 - アプリケーションのロジックでの情報の使用 Object Store Connector はオブジェクトストアを定義するだけでなく操作できます。 グローバルオブジェクトストアは、最上位要素として定義され、他のコンポーネントはその名前を参照できます。次の例では、アクセストークンを保存するために ​`tokensStore`​ という名前のオブジェクトストアを作成します。 ```xml ``` この例はメモリ内のオブジェクトストア用であり、アクセストークンを保存するオブジェクトストアの推奨設定を示しているわけではありません。 - 永続性 (​`persistent="true"`​) 値はディスクに保存され、システムが再起動しても存続できます。​`persistent`​ を ​`false`​ に設定すると、情報をメモリ内にのみ保存する一時的なストアになります。 - 有効期限 (​`expirationInterval`​) 有効期限スレッドは 30 分おきに実行され、存続期間 (TTL) または ​`maxEntries`​ 制限を超えた要素を破棄します。 - TTL (​`entryTtl`​) が 1 時間以上 アクセストークンは非常に機密性が高いので、1 時間以上保持しない方がよいでしょう。​`entryTtl`​ で指定された値を超えるすべてのエントリは自動的に削除されます。 - サイズ制限 (​`maxEntries`​) 100 エントリを超える各エントリは、有効期限スレッドが実行されると破棄されます。 [Object Store v2](https://docs.mulesoft.com/jp/object-store/)​ では無制限のキーを使用できます。 ## [](#authentication-oauth)OAuth による認証の設定 次の例では、OAuth による Salesforce Connector 認証を設定し、その後で​[前の例](#global_os)​で作成したオブジェクトストア (​`tokensStore`​) にトークンを保存しています。 ```xml ``` ## [](#private_os)非公開オブジェクトストアの定義 非公開オブジェクトストアは、次の場合に使用します。 - 共有状態がセキュリティリスクになる。 - 誰もコネクタレベルからストアを操作できないようにする必要がある。たとえば、​**Clear**​ 操作の設定をすべての認証データが削除されるように誰かが変更するリスクを避ける必要がある場合です。 次の例では、参照可能な名前のない非公開オブジェクトストアを定義します。 ```xml ``` この例では、冪等性のあるメッセージ検証機能と、バリデーターのみがアクセスできるカスタムストアを提供しています。 ## [](#関連情報)関連情報 - [MuleSoft ヘルプセンター](https://help.mulesoft.com) - [Object Store Connector リファレンス](https://docs.mulesoft.com/jp/object-store-connector/1.2/object-store-connector-reference)