# mulesoft オブジェクトストア (object-store) - Full Documentation # FAQ: Object Store v2 ## [](#object-store-v2-を使用できるリージョンは)Object Store v2 を使用できるリージョンは? Object Store v2 は、CloudHub アプリケーションをデプロイできる​[リージョン](https://docs.mulesoft.com/cloudhub/cloudhub-networking-guide#regional-services)​すべてで使用できます。 ## [](#object-store-v2-をサポートする-mule-バージョンは)Object Store v2 をサポートする Mule バージョンは? - Mule Runtime Engine 3.8.5 以降 - すべての Mule Runtime Engine 4.x バージョン Mule 4 では Object Store v2 はサポートされますが、Object Store v1 はサポートされません。 ## [](#オンプレミスサーバーにデプロイされたアプリケーションに-object-store-v2-を使用できますか)オンプレミスサーバーにデプロイされたアプリケーションに Object Store v2 を使用できますか? オンプレミス Mule アプリケーションは、Object Store REST API を介してのみ Object Store v2 にアクセスできます。 オンプレミスデプロイメントでは、Mule に含まれるオブジェクトストアを使用できます。 Mule オブジェクトストアについては、​[「オブジェクトストアを使用したアプリケーションデータの保存」](https://docs.mulesoft.com/mule-runtime/latest/mule-object-stores)​を参照してください。 ## [](#使用量データを表示する方法は)使用量データを表示する方法は? API 要求データを表示するには、​[「使用量グラフの表示」](https://docs.mulesoft.com/jp/object-store/osv2-usage)​を参照してください。 ## [](#サブスクリプションのトランザクション制限に達した場合はどうなりますか)サブスクリプションのトランザクション制限に達した場合はどうなりますか? Object Store v2 サブスクリプションパックによって、Anypoint Platform 組織に 1 か月あたり 1 億件のトランザクションが許可されます。この制限は、すべての本番環境と非本番環境に適用されます。 [Object Store v2 Stats API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2-stats/)​ を使用して使用状況を監視できます。 使用量がライセンスの上限に達しても、Object Store v2 は動作を続行します。 MuleSoft は、アカウント管理者とチームに請求関連の情報を通知します。 ## [](#object-store-v2-はワーカーと同じリージョンで存続しますか)Object Store v2 はワーカーと同じリージョンで存続しますか? はい、Object Store v2 は、アプリケーションが最初にデプロイされた、ワーカーと同じリージョンにあります。たとえば、シンガポールリージョンにデプロイした場合、オブジェクトストアはシンガポールリージョンで存続します。
最初のデプロイの後、アプリケーションを別のリージョンに移動した場合、Object Store v2 はデータが失われないように元のリージョンに残ります。使用する Object Store v2 が別のリージョンに移動することはありません。アプリケーションとオブジェクトストアの両方を別のリージョンにデプロイする必要がある場合は、アプリケーションを削除してから新しいリージョンに再アップロードする必要があります。この操作により、ストレージに存在するデータはすべて失われます。
## [](#cloudhub-にデプロイされたアプリケーションでは別の-cloudhub-アプリケーションのオブジェクトストアにアクセスできますか)CloudHub にデプロイされたアプリケーションでは別の CloudHub アプリケーションのオブジェクトストアにアクセスできますか? Object Store REST API を使用して別の Mule アプリケーションのオブジェクトストアからの値を保存および取得するように Mule アプリケーションを設定できます。 ただし、Object Store v2 はアプリケーション間の通信を目的として設計されていません。 2 つの Mule 4 アプリケーション間でデータを共有するには、​[Anypoint MQ](https://docs.mulesoft.com/jp/mq/)​ のキューを使用してください。 オブジェクトストアの制限事項についての詳細は、​[「オブジェクトストアの制限事項」](https://docs.mulesoft.com/object-store-connector/latest/#object-store-limitations)​を参照してください。 Object Store REST API については、Exchange の [「Object Store v2 API」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/)​を参照してください。 ## [](#オブジェクトストアの制限は)オブジェクトストアの制限は? オブジェクトストアの合計サイズに制限はありませんが、各値は 10 MB に制限されます。 (コネクタまたは API を介した) Object Store v2 への各 API コールが API レート制限 (トランザクション/秒 (TPS)) に含まれます。 - 基本サブスクリプション: アプリケーションごとに 10 TPS - プレミアムアドオンサブスクリプション: アプリケーションごとに 100 TPS ## [](#object-store-v2-で存続できるキーの最大数は)Object Store v2 で存続できるキーの最大数は? Object Store v2 では、アプリケーションごとのキー数に制限はありません。 ## [](#最大キーサイズは)最大キーサイズは? キーの最大サイズは 1024 バイトです (UTF-8 エンコード)。 Object Store v2 では、キーでのパイプ (​`|`​) 文字の使用はサポートされていません。 ## [](#パーティションを使用するメリットは)パーティションを使用するメリットは? パーティションを使用することで、格納されたキーと取得されたキーの領域にオブジェクトストアを分割できます。 パーティションは、物理的ではなく論理的な構造です。 そのため、キーを 1 つのパーティションに格納しても複数のパーティションに格納しても、データのアクセス時間は同じです。 ## [](#object-store-v2-でのデータ存続期間は)Object Store v2 でのデータ存続期間は? 最大存続期間 (TTL) は 2592000 秒 (30 日) です。 ローリング TTL と静的 TTL についての詳細は、​[「存続期間 (TTL)」](https://docs.mulesoft.com/jp/object-store/#time-to-live)​を参照してください。 TTL を設定する場合は、​[「カスタム存続期間を設定する」](https://docs.mulesoft.com/jp/object-store/osv2-guide#configure-a-custom-time-to-live-period)​を参照してください。 ## [](#object-store-v2-rest-api-portal-の場所は)Object Store v2 REST API Portal の場所は? Object Store v2 API は、Anypoint Platform 開発者ポータルで使用できます。 - [Anypoint Exchange Object Store v2](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/) - [Anypoint Exchange Object Store v2 Stats](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2-stats/) ## [](#object-store-connector-の場所は)Object Store Connector の場所は? [Anypoint Exchange](https://anypoint.mulesoft.com/exchange/?search=objectstore) で、Anypoint Studio 6 で使用される Mule 3 Object Store Connector および Studio 7 で使用される Mule 4 Object Store Connector のアセットを提供しています。 ## [](#object-store-v2-と-object-store-v1-で異なる-object-store-connector-が必要ですか)Object Store v2 と Object Store v1 で異なる Object Store Connector が必要ですか? Mule の Object Store Connector は、すべてのバージョンが Object Store v1 と Object Store v2 の両方で動作します。 ## [](#object-store-の値がバイナリ形式である理由は)Object Store の値がバイナリ形式である理由は? Runtime Manager で Object Store キーを表示すると、キーは ​`[binary value] BINARY`​ として表示されます。 Mule 4 では、値を Mule オブジェクトでラップして、Anypoint Platform で値がバイナリでのみ表示されるようにします。バックグラウンドでは、Mule 4 が Mule 内部シリアライザーでバイナリ逐次化を実行します。ユーザーインターフェースではオブジェクトを非逐次化できないため、値がバイナリになったことのみが伝えられます。 キー値を表示するには、アプリケーションのコネクタに次のような Object Store 取得フローが必要です。 ```xml ``` 詳細は、​[「チュートリアル: Studio 7 プロジェクトを作成する」](https://docs.mulesoft.com/jp/object-store/osv2-tutorial#create-a-studio-7-project)​を参照してください。 ## [](#object-store-v2-にレート制限はありますか)Object Store v2 にレート制限はありますか? Object Store SKU を別途購入していないお客様には、アプリケーションあたり 10 TPS (トランザクション/秒) というレート制限があります。 Object Store v2 SKU を購入していないアカウントでアプリケーションがレート制限を超えると、それ以降しばらくの間、要求は処理されず、429 HTTP エラー状況コードが返されます。基本となる 10 TPS のレート制限を超える場合は、MuleSoft アカウントチームまでお問い合わせください。 ## [](#object-store-v2-データの保護方法は)Object Store v2 データの保護方法は? Object Store v2 は、Transport Layer Security (TLS) 1.2 を使用して安全な転送を実現し、非推奨の TLS バージョン 1.0 および 1.1 をサポートしません。 保管時のデータは、FIPS 140-2 準拠の暗号化標準を使用して保存されます。 より高いレベルのセキュリティが必要な場合、機密データは暗号化してからオブジェクトストアに書き出すことをお勧めします。 ## [](#object-store-ではデータはキャッシュされますかそれとも読み書きのたびに-io-が実行されますか)Object Store ではデータはキャッシュされますか、それとも読み書きのたびに I/O が実行されますか? Object Store v2 では読み書きのたびに I/O が実行されます。Object Store v2 では、API コールは、Runtime Manager アプリケーションと同じデータセンターに限定されます。 ## [](#use-object-store-v2-object-store-v2-を使用-オプションを無効にした後で再度有効にするとどうなりますか)**\[Use Object Store v2 (Object Store v2 を使用)\]**​ オプションを無効にした後で再度有効にするとどうなりますか? デフォルトで、CloudHub アプリケーションのデプロイ時に ​**\[Use Object Store v2 (Object Store v2 を使用)\]**​ オプションが有効になります。Runtime Manager でこのオプションを無効にした後で再び有効にした場合、元のキー - 値ペアの TTL が期限切れになるまでそのキー - 値ペアが保持されます。 ## [](#関連情報)関連情報 - [Anypoint Exchange Object Store v2 API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/) - [Anypoint Exchange Object Store v2 Stats API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2-stats/) - [カスタム存続期間を設定する](https://docs.mulesoft.com/jp/object-store/osv2-guide#configure-a-custom-time-to-live-period) - [オブジェクトストアパーティションを作成する](https://docs.mulesoft.com/jp/object-store/osv2-guide#create-object-store-partitions) - [Object Store Connector - Mule 4](https://docs.mulesoft.com/object-store-connector/latest/) - [Object Store Connector - Mule 3](#3.9@mule-runtime::object-store-connector.adoc) - [The Different Types of Object Stores Explained (さまざまな種類のオブジェクトストアの説明)](https://help.mulesoft.com/s/article/The-Different-Types-of-Object-Stores-Explained) # Object Store v2 Release Notes These release notes are provided for Object Store: - [Object Store v2 Release Notes](https://docs.mulesoft.com/jp/release-notes/object-store/anypoint-osv2-release-notes) - [Object Store Connector Release Notes (for Mule 4)](https://docs.mulesoft.com/jp/release-notes/connector/object-store-connector-release-notes-mule-4) ## [](#see-also)See Also - [CloudHub Runtime and Operating System Patch Update Release Notes](https://docs.mulesoft.com/jp/release-notes/cloudhub/cloudhub-runtimes-release-notes) - [Known Issues](https://help.salesforce.com/s/issues) # Object Store v2 REST API

可能な場合は、Equality の会社の値に一致するように、含めない用語を変更しました。顧客の実装に対する影響を回避するために、一部の用語は変更されていません。

Object Store v2 API により、REST を使用して次の操作を実行できます。 - アプリケーションに関連付けられたオブジェクトストアとキーのリストを取得する。 - オブジェクトストアでキー-値ペアを保存して取得する。 - オブジェクトストアからキー-値ペアを削除する。 - 組織の Object Store の使用量統計を取得する。 Object Store には次の API が用意されています。 - [Object Store v2 API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/) - [Object Store v2 Stats API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2-stats/) ## [](#authenticate-os-apis)Object Store API を使用した認証 - [Object Store v2 API](#object-store-v2-api) Object Store API を使用して認証するにはベアラートークンが必要です。 ベアラートークンを取得するには、アプリケーションのクライアント ID とクライアントシークレットが必要です。 - [Object Store v2 Stats API](#object-store-v2-stats-api) Object Store v2 Stats API を使用して認証するにはアクセストークンが必要です。 アクセストークンを取得するには、​**組織のシステム管理者**​ロールが割り当てられたユーザーの Anypoint Platform ユーザー名とパスワードが必要です。 ## [](#前提条件)前提条件 - Object Store v2 を使用するアプリケーションを作成し、CloudHub にデプロイします。 [「CloudHub へのデプロイ」](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub)​を参照してください。 - オブジェクトストアにキー-値ペアを保存します。 [「オブジェクトストアにデータを送信する」](https://docs.mulesoft.com/jp/object-store/osv2-guide#send-data-to-an-object-store)​を参照してください。 - Anypoint Platform ユーザーのアクセストークン (​ACCESS\_TOKEN​) を取得します。 Object Store v2 Stats API にアクセスするには、ユーザーに​**組織のシステム管理者**​ロールが割り当てられている必要があります。 Object Store v2 Stats API を使用して認証するにはアクセストークンが必要です。 [「アクセス管理 API」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/home/)​の [「認証」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/Authentication/)​を参照してください。 - 組織 ID (​ORG\_ID​) を取得します。 Object Store v2 API および Object Store v2 Stats API を使用した操作には組織 ID が必要です。 [「アクセス管理 API」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/home/)​の ​`/api/me`​ エンドポイントを参照してください。 - 環境 ID (​ENV\_ID​) を取得します。 Object Store v2 API および Object Store v2 Stats API を使用した操作には環境 ID が必要です。 [「アクセス管理 API」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/home/)​の ​`/api/organizations/ORG_ID/environments`​ エンドポイントを参照してください。 - リージョン ID (​REGION\_ID​) を取得します。 Object Store v2 Stats API を使用した操作にはリージョン ID が必要です。 [「Object Store v2 API」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/minor/1.0/pages/home/)​および「​[例: リージョンのリストを取得する](#例-リージョンのリストを取得する)​」で ​`/api/v1/organizations/ORG_ID/regions`​ エンドポイントを参照してください。 - ストア ID (​STORE\_ID​) を取得します。 Object Store v2 Stats API を使用した操作にはストア ID が必要です。 [「Object Store v2 API」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/minor/1.0/pages/home/)​および「​[例: オブジェクトストアのリストを取得する](#例-オブジェクトストアのリストを取得する)​」で ​`/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID`​ エンドポイントを参照してください。 - アプリケーションのクライアント ID (​CLIENT\_ID​) とクライアントシークレット (​CLIENT\_SECRET​) を取得します。 ベアラートークンを取得するにはクライアント ID とクライアントシークレットが必要です。 [アプリケーションのクライアント ID とクライアントシークレットを取得する](#アプリケーションのクライアント-id-とクライアントシークレットを取得する)​を参照してください。 - アプリケーションのベアラートークン (​BEARER\_TOKEN​) を取得します。 Object Store v2 API を使用して認証するにはベアラートークンが必要です。 [「アクセス管理 API」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/minor/1.0/pages/home/)​の ​`/accounts/oauth2/token`​ エンドポイントを参照してください。 ベアラートークンを取得するには、アプリケーションのクライアント ID とクライアントシークレットが必要です。 ### [](#アプリケーションのクライアント-id-とクライアントシークレットを取得する)アプリケーションのクライアント ID とクライアントシークレットを取得する アプリケーションのクライアント ID とクライアントシークレットを取得する手順は、次のとおりです。 1. **\[Anypoint Platform\] > \[Runtime Manager\]**​ にログインします。 2. アプリケーションをクリックし、​**\[Manage Application (アプリケーションを管理)\]**​ をクリックします。 3. アプリケーションが Object Store に関連付けられていない場合、​**\[Use Object Store v2 (Object Store v2 を使用)\]**​ をクリックして変更を適用します。 4. 左ナビゲーション領域の ​**\[Object Store\]**​ をクリックし、​**\[Show Client Credentials (クライアントのログイン情報を表示)\]**​ をクリックします。 5. **\[Client ID (クライアント ID)\]**​ の ​**\[Copy to Clipboard (クリップボードにコピー)\]**​ をクリックして ​CLIENT\_ID​ の値として保存します。 6. **\[Client Secret (クライアントシークレット)\]**​ の ​**\[Copy to Clipboard (クリップボードにコピー)\]**​ をクリックして ​CLIENT\_SECRET​ の値として保存します。 ## [](#object-store-v2-api)Object Store v2 API Object Store v2 API で読み取りおよび書き込みを行う ​`key,list`​ 値は、​`key,value`​ 形式での読み取りおよび書き込みを行うオブジェクトストア用 Anypoint Connector (Object Store Connector) とは異なります。 次の表では、Object Store REST API 操作を Object Store Connector 操作と比較しています。
Object Store v2 API Object Store v2 REST API 操作 Object Store Connector 操作

POST

  • オブジェクトストア

    • オブジェクトストアの TTL (秒)

      最大 TTL は 2,592,000 秒 (30 日) です。

      指定された ​entryTtl​ 値が 30 日より大きい場合、値のデフォルトは 2592000 秒 (30 日) になり、エラーは返されません。

    • 永続性プロパティ

    • アプリケーションまたは環境ごとの使用制限。キーまたはサイズに基づいて制限するオプションやその適用方法を含みます

  • キーおよびリスト (項目) 値

Store (保存)

GET

  • Get keys (キーを取得)

  • Get item (項目を取得)

  • Get items (複数の項目を取得)

  • Get all items (すべての項目を取得)

  • Get regions for an organization (組織のリージョンを取得)

Contains (包含チェック) + Retrieve (取得) + Retrieve all keys (すべてのキーを取得) + Retrieve and store (取得して保存) (Retrieve 部分)

PUT

  • Put item as string (項目を文字列として更新)

  • Put item as number (項目を数値として更新)

  • Put item as confirmable string (項目を確認可能な文字列として更新)

  • Put store (更新して保存)

Dual Store (2 段階保存) ​†​ + Store (保存)

DELETE

  • Remove object store (オブジェクトストアを削除)

  • Delete key (キーを削除)

  • Delete item (項目を削除)

Remove (削除)

**†**​ Object Store Connector の Dual Store 操作は、キーで値を保存する操作と、その後に値でキーを保存する操作の 2 つで構成されます。 Dual Store 操作は、Object Store v2 で 2 つの「Put item as String」 (項目を文字列として更新) コールを実行して次の結果を得るのと同様に動作します。 1. `objectStore.store(key, value);` 2. `objectStore.store(value, key);` 1 回の GET 操作で最大 25 個のキーを取得できます。 ### [](#制限事項)制限事項 アプリケーションが REST インターフェースを使用してオブジェクトストアに書き込み、Mule 3 用 Object Store Connector を使用して同じキーから読み取る場合、この読み取りでは要素 0 の値しか取得できません。 そのため、REST API を使用する場合は、API を使用してオブジェクトストアのコンテンツを読み書きします。 そうしないと、API を使用して書き込める先はインデックス 0 のみになります。 この制限は、Mule 4 用 Object Store Connector と Anypoint Studio Object Store Connector には適用されません。 ### [](#object-store-v2-api-へのアクセス)Object Store v2 API へのアクセス 1. オブジェクトストアにアクセスするために、Postman などのアプリケーションをセットアップします。 2. オブジェクトストアのアクセス URL を設定し、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に置き換えます。 `BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/myTestStoreId/objects` デプロイメントリージョンに応じて、アクセス URL の ​BASE\_URL​ の値では次のドメインのいずれかを使用できます。
コントロールプレーン BASE_URL リージョン

米国

object-store-us-east-1.anypoint.mulesoft.com

米国東部 (北バージニア)

object-store-us-east-2.anypoint.mulesoft.com

米国東部 (オハイオ)

object-store-us-west-1.anypoint.mulesoft.com

米国西部 (北カリフォルニア)

object-store-us-west-2.anypoint.mulesoft.com

米国西部 (オレゴン)

object-store-ap-southeast-1.anypoint.mulesoft.com

アジア太平洋 (シンガポール)

object-store-ap-southeast-2.anypoint.mulesoft.com

アジア太平洋 (シドニー)

object-store-ap-northeast-1.anypoint.mulesoft.com

アジア太平洋 (東京)

object-store-ca-central-1.anypoint.mulesoft.com

カナダ (中央部)

object-store-eu-central-1.anypoint.mulesoft.com

欧州 (フランクフルト)

object-store-eu-west-1.anypoint.mulesoft.com

欧州 (アイルランド)

object-store-eu-west-2.anypoint.mulesoft.com

欧州 (ロンドン)

object-store-sa-east-1.anypoint.mulesoft.com

南米 (サンパウロ)

米国

MuleSoft Government Cloud

object-store-us-gov-west-1.gov.anypoint.mulesoft.com

US Gov West (米国政府西部)

EU

object-store-eu-central-1.eu1.anypoint.mulesoft.com

欧州 (フランクフルト)

object-store-eu-west-1.eu1.anypoint.mulesoft.com

欧州 (アイルランド)

3. オブジェクトストアに対して値の保存や読み取りができるように、HTTP ヘッダーおよび本文でアプリケーションを設定します。 4. 操作を Object Store v2 API に送信します。 ### [](#例-object-store-v2-api)例: Object Store v2 API - [例: オブジェクトストアのリストを取得する](#例-オブジェクトストアのリストを取得する) - [例: リージョンのリストを取得する](#例-リージョンのリストを取得する) - [例: パーティションのキーのリストを取得する](#例-パーティションのキーのリストを取得する) - [例: キーの値を取得する](#例-キーの値を取得する) - [例: キー-値ペアを保存する](#例-キー-値ペアを保存する) - [例: キーと値を削除する](#例-キーと値を削除する) #### [](#例-オブジェクトストアのリストを取得する)例: オブジェクトストアのリストを取得する オブジェクトストアのリストを表示するには、次のような ​`curl`​ コマンドを送信し、​BASE\_URL​ をリージョンのドメインに、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に、​ACCESS\_TOKEN​ をアクセストークンに置き換えます。 ```console curl -X GET \ 'https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores' \ -H 'authorization: bearer ACCESS_TOKEN' ``` このコマンドにより、次のような出力が返されます。 ```json {"values":[{"storeId":"APP_os-simple-flow__defaultPersistentObjectStore","encrypted":true,"permanentOsFlag":false, "persistent":true,"defaultTtlSeconds":2592000,"defaultConfirmationTtlSeconds":600,"isFixedTtl":null}, {"storeId":"APP_scheduler-tests__defaultPersistentObjectStore","encrypted":true,"permanentOsFlag":false, "persistent":true,"defaultTtlSeconds":2592000,"defaultConfirmationTtlSeconds":600,"isFixedTtl":null} {"storeId":"APP_sending-a-csv-file-thru-email-using-smtp__defaultPersistentObjectStore","encrypted":true,"permanentOsFlag":false, "persistent":true,"defaultTtlSeconds":2592000,"defaultConfirmationTtlSeconds":600,"isFixedTtl":null}],"nextPageToken":null} ``` #### [](#例-リージョンのリストを取得する)例: リージョンのリストを取得する リージョンのリストを表示するには、次のような ​`curl`​ コマンドを送信し、​BASE\_URL​ をリージョンのドメインに、​ORG\_ID​ を組織 ID に、​ACCESS\_TOKEN​ をアクセストークンに置き換えます。 ```console curl -X GET \ 'https://BASE_URL/api/v1/organizations/ORG_ID/regions' \ -H 'authorization: Bearer ACCESS_TOKEN' ``` このコマンドにより、次のような出力が返されます。 ```json [ { "id": "us-east-1", "name": "US East (N. Virginia)", "url": "http://object-store.us-east-1.anypoint.mulesoft.com" }, { "id": "us-west-1", "name": "US West (N. California)", "url": "http://object-store.us-west-1.anypoint.mulesoft.com" } ] ``` #### [](#例-パーティションのリストを取得する)例: パーティションのリストを取得する パーティションのリストを表示するには、次のような ​`curl`​ コマンドを送信し、​BASE\_URL​ をリージョンのドメインに、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に、​STORE\_ID​ をオブジェクトストアリストの ​`storeId`​ に、ACCESS\_TOKEN をアクセストークンに置き換えます。 ```console curl -X GET \ https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID/partitions \ -H "Authorization: Bearer ACCESS_TOKEN" ``` このコマンドにより、次のような出力が返されます。 ```json {"values":["PARTITION_ID"],"nextPageToken":null} ``` #### [](#例-パーティションのキーのリストを取得する)例: パーティションのキーのリストを取得する パーティションのキーを表示するには、次のような ​`curl`​ コマンドを送信し、​BASE\_URL​ をリージョンのドメインに、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に、​STORE\_ID​ をオブジェクトストアの名前に、​PARTITION\_ID​ をパーティションの名前に、​ACCESS\_TOKEN​ をアクセストークンに置き換えます。 ```console curl -X GET \ https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID/partitions/PARTITION_ID/keys \ -H "Authorization: Bearer ACCESS_TOKEN" ``` このコマンドにより、次のような出力が返されます。 ```json {"values":[{"keyId":"KeyTwo"},{"keyId":"KeyOne"}],"nextPageToken":null} ``` #### [](#例-キーの値を取得する)例: キーの値を取得する キーの値を表示するには、次のような ​`curl`​ コマンドを送信し、​BASE\_URL​ をリージョンのドメインに、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に、​STORE\_ID​ をオブジェクトストアの名前に、​PARTITION\_ID​ をパーティションの名前に、​KEY\_ID​ をキー ID に、​ACCESS\_TOKEN​ をアクセストークンに置き換えます。 ```console curl -X GET \ https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID/partitions/PARTITION_ID/keys/KEY_ID \ -H "Authorization: Bearer ACCESS_TOKEN" ``` このコマンドにより、次のような出力が返されます。 ```json {"binaryValue":"++Kn0AIBAQBbwoABDiJLZXkgMiBWYWx1ZSL8rNmhAQEBAWphdmEuaW8uU2VyaWFsaXphYmzlgGFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLbgAAAAAAAAADQ==","keyId":"KeyTwo","valueType":"BINARY"} ``` #### [](#例-キー-値ペアを保存する)例: キー-値ペアを保存する キー-値ペアを保存するには、次のような ​`curl`​ コマンドを送信し、​BASE\_URL​ をリージョンのドメインに、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に、​STORE\_ID​ をオブジェクトストアの名前に、​PARTITION\_ID​ をパーティションの名前に、​ACCESS\_TOKEN​ をアクセストークンに置き換えて、KEY\_ID の値 (​`myTestKey`​) を指定します。 ```console KEY_ID=myTestKey; \ curl -X POST \ https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID/partitions/PARTITION_ID/keys/myTestKey \ -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ --data '{"stringValue":"Hello World","keyId":"myTestKey","valueType":"STRING"}' ``` このコマンドでは、値は JSON 文字列になります。 キー-値ペアがオブジェクトストアにあることを確認するには、パーティションのキーのリストを取得します。 ```console curl -X GET \ https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID/partitions/PARTITION_ID/keys \ -H "Authorization: Bearer ACCESS_TOKEN" ``` このコマンドにより、次のような出力が返されます。 ```json {"values":[{"keyId":"KeyTwo"},{"keyId":"KeyOne"},{"keyId":"myTestKey"}],"nextPageToken":null} ``` #### [](#例-キーと値を削除する)例: キーと値を削除する キー-値ペアを削除するには、次のような ​`curl`​ コマンドを送信し、​BASE\_URL​ をリージョンのドメインに、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に、​STORE\_ID​ をオブジェクトストアの名前に、​PARTITION\_ID​ をパーティションの名前に、​KEY\_ID​ をキー ID に、​ACCESS\_TOKEN​ をアクセストークンに置き換えます。 ```console curl -X DELETE \ https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID/partitions/PARTITION_ID/keys/KEY_ID \ -H "Authorization: Bearer ACCESS_TOKEN" ``` このコマンドでは、値は JSON 文字列になります。 キー-値ペアがオブジェクトストアからなくなったことを確認するには、パーティションのキーのリストを取得します。 ```console curl -X GET \ https://BASE_URL/api/v1/organizations/ORG_ID/environments/ENV_ID/stores/STORE_ID/partitions/PARTITION_ID/keys \ -H "Authorization: Bearer ACCESS_TOKEN" ``` このコマンドにより、次のような出力が返されます。 ```json {"values":[{"keyId":"KeyTwo"},{"keyId":"KeyOne"}],"nextPageToken":null} ``` ## [](#object-store-v2-stats-api)Object Store v2 Stats API Object Store v2 Stats API により、Object Store 使用量に関する統計を取得できます。 使用量統計はリアルタイムではなく、レイテンシーが含まれている場合があります。 Stats API を使用して、請求目的で組織全体の Object Store の使用量を表示します。 - ルート組織とすべてのサブ組織ごとの使用量 - 組織ごとの使用量 - 環境ごとの使用量 - リージョンごとの使用量 - ストアごとの使用量 ### [](#object-store-v2-stats-api-へのアクセス)Object Store v2 Stats API へのアクセス 1. オブジェクトストアにアクセスするために、Postman などのアプリケーションをセットアップします。 2. アクセス URL を設定し、​ORG\_ID​ を組織 ID に、​ENV\_ID​ を環境 ID に置き換えます。 `https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID/environments/ENV_ID?startDate=...&endDate=...&period=...` 3. オブジェクトストアに対して値の保存や読み取りができるように、HTTP ヘッダーおよび本文でアプリケーションを設定します。 4. 操作を Object Store v2 Stats API に送信します。 ### [](#例-object-store-v2-stats-api)例: Object Store v2 Stats API - [例: 組織別の使用状況メトリクスの取得](#usage-by-org) - [例: 環境別の使用状況メトリクスの取得](#usage-by-env) - [例: リージョン別の使用状況メトリクスの取得](#usage-by-region) - [例: ストア別の使用状況メトリクスの取得](#usage-by-store) #### [](#usage-by-org)例: 組織別の使用状況メトリクスの取得 デフォルトでは、Object Store v2 Stats API エンドポイントでは、指定された ​ORG\_ID​ の統計のみを取得します。 ルート組織とすべてのサブ組織の使用量データを取得するには、ORG\_ID がルート組織の場合に ​`isMaster`​ を ​`true`​ に設定します。 `isMaster=true`​ を使用してサブ組織を照会した場合、エンドポイントでは結果は返されません。 2023 年 7 月 11 日から 2023 年 9 月 11 日までのルート組織とすべてのサブ組織の Object Store 使用量統計を表示するには、次のような ​`curl`​ コマンドを送信し、ORG\_ID をルート組織の組織 ID に、BEARER\_TOKEN をベアラートークンに置き換えます。 ```console curl -X GET \ 'https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID?startDate=2023-07-11T17%3A51%3A54.000Z&endDate=2023-09-11T17%3A51%3A54.000Z&period=1month&isMaster=true' \ -H 'authorization: Bearer BEARER_TOKEN' ``` この要求により、次のような応答が返されます。 ```json [ {"timeStamp":"2023-07-01T00:00:00Z","objectStoreRequestCount":0}, {"timeStamp":"2023-08-01T00:00:00Z","objectStoreRequestCount":38}, {"timeStamp":"2023-09-01T00:00:00Z","objectStoreRequestCount":28} ] ``` 1 日のルート組織とすべてのサブ組織の Object Store 使用量統計を表示するには、次のような ​`curl`​ コマンドを送信し、ORG\_ID をルート組織の組織 ID に、BEARER\_TOKEN をベアラートークンに置き換えます。 ```console curl -X GET \ 'https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID?startDate=2023-11-11T17%3A51%3A54.000Z&endDate=2023-11-131T17%3A51%3A54.000Z&period=1day&isMaster=true' \ -H 'authorization: Bearer BEARER_TOKEN' ``` この要求により、次のような応答が返されます。 ```json [ {"timeStamp":"2023-11-11T00:00:00Z","objectStoreRequestCount":36} {"timeStamp":"2023-11-12T00:00:00Z","objectStoreRequestCount":22} {"timeStamp":"2023-11-13T00:00:00Z","objectStoreRequestCount":43} ] ``` 2023 年 2 月 10 日から 2023 年 4 月 10 日までのサブ組織の Object Store 使用量統計を表示するには、次のような ​`curl`​ コマンドを送信し、ORG\_ID をサブ組織の組織 ID に、BEARER\_TOKEN をベアラートークンに置き換えます。 ```console curl -X GET \ 'https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID?startDate=2023-02-10T17%3A51%3A54.000Z&endDate=2023-04-10T17%3A51%3A54.000Z&period=1month' \ -H 'authorization: Bearer BEARER_TOKEN' ``` この要求により、次のような応答が返されます。 ```json [ {"timeStamp":"2023-02-10T00:00:00Z","objectStoreRequestCount":1}, {"timeStamp":"2023-03-10T00:00:00Z","objectStoreRequestCount":15}, {"timeStamp":"2023-04-10T00:00:00Z","objectStoreRequestCount":2} ] ``` サブ組織の 1 日の Object Store 使用量統計を表示するには、次のような ​`curl`​ コマンドを送信し、ORG\_ID をサブ組織の組織 ID に、​BEARER\_TOKEN​ をベアラートークンに置き換えます。 ```console curl -X GET \ 'https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID?startDate=2023-12-01T17%3A51%3A54.000Z&endDate=2023-12-03T17%3A51%3A54.000Z&period=1day' \ -H 'authorization: Bearer BEARER_TOKEN' ``` この要求により、次のような応答が返されます。 ```json [ {"timeStamp":"2023-12-01T00:00:00Z","objectStoreRequestCount":4} {"timeStamp":"2023-12-02T00:00:00Z","objectStoreRequestCount":2} {"timeStamp":"2023-12-03T00:00:00Z","objectStoreRequestCount":8} ] ``` #### [](#usage-by-env)例: 環境別の使用状況メトリクスの取得 2021 年 6 月 13 日から 2021 年 9 月 13 日までの環境の Object Store 使用量統計を表示するには、次のような ​`curl`​ コマンドを送信し、ORG\_ID を組織 ID に、ENV\_ID を環境 ID に、​BEARER\_TOKEN​ をベアラートークンに置き換えます。 ```console curl -X GET \ 'https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID/environments/ENV_ID?startDate=2021-06-13T17%3A51%3A54.000Z&endDate=2021-09-13T17%3A51%3A54.000Z&period=1month' \ -H 'authorization: Bearer BEARER_TOKEN' ``` この要求により、次のような応答が返されます。 ```json [ {"timeStamp":"2021-06-01T00:00:00Z","objectStoreRequestCount":3}, {"timeStamp":"2021-07-01T00:00:00Z","objectStoreRequestCount":30}, {"timeStamp":"2021-08-01T00:00:00Z","objectStoreRequestCount":1}, {"timeStamp":"2021-09-01T00:00:00Z","objectStoreRequestCount":25} ] ``` #### [](#usage-by-region)例: リージョン別の使用状況メトリクスの取得 リージョンの Object Store 使用量統計を表示するには、次のような ​`curl`​ コマンドを送信し、ORG\_ID を組織 ID に、​ENV\_ID​ を環境 ID に、​REGION\_ID​ をメトリクスの取得元のリージョンに、​BEARER\_TOKEN​ をベアラートークンに置き換えます。 ```console curl -X GET \ 'https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID/environments/ENV_ID/regions/REGION_ID?startDate=2021-06-13T17%3A51%3A54.000Z&endDate=2021-09-13T17%3A51%3A54.000Z&period=1month' \ -H 'authorization: Bearer BEARER_TOKEN' ``` REGION\_ID​ を取得するには、「​[例: リージョンのリストを取得する](#例-リージョンのリストを取得する)​」を参照してください。 この要求により、次のような応答が返されます。 ```json [ {"timeStamp":"2021-06-01T00:00:00Z","objectStoreRequestCount":3}, {"timeStamp":"2021-07-01T00:00:00Z","objectStoreRequestCount":30}, {"timeStamp":"2021-08-01T00:00:00Z","objectStoreRequestCount":1}, {"timeStamp":"2021-09-01T00:00:00Z","objectStoreRequestCount":25} ] ``` #### [](#usage-by-store)例: ストア別の使用状況メトリクスの取得 ストアの Object Store 使用量統計を表示するには、次のような ​`curl`​ コマンドを送信し、ORG\_ID を組織 ID に、​ENV\_ID​ を環境 ID に、​REGION\_ID​ をメトリクスの取得元のリージョンに、​STORE\_ID​ をメトリクスの取得の対象であるストア ID に、​BEARER\_TOKEN​ をベアラートークンに置き換えます。 ```console curl -X GET \ 'https://object-store-stats.anypoint.mulesoft.com/api/v1/organizations/ORG_ID/environments/ENV_ID/regions/REGION_ID/stores/STORE_ID?startDate=2021-06-13T17%3A51%3A54.000Z&endDate=2021-09-13T17%3A51%3A54.000Z&period=1month' \ -H 'authorization: Bearer BEARER_TOKEN' ``` STORE\_ID​ を取得するには、「​[例: オブジェクトストアのリストを取得する](#例-オブジェクトストアのリストを取得する)​」を参照してください。 この要求により、次のような応答が返されます。 ```json [ {"timeStamp":"2021-06-01T00:00:00Z","objectStoreRequestCount":3}, {"timeStamp":"2021-07-01T00:00:00Z","objectStoreRequestCount":30}, {"timeStamp":"2021-08-01T00:00:00Z","objectStoreRequestCount":1}, {"timeStamp":"2021-09-01T00:00:00Z","objectStoreRequestCount":25} ] ``` ## [](#exchange-から-object-store-api-をダウンロードする)Exchange から Object Store API をダウンロードする Exchange から Object Store API をダウンロードするには、​**\[Download (ダウンロード)\]**​ をクリックして RAML、OAS、または Mule 3 または Mule 4 のコネクタファイルの中からダウンロードする形式を選択します。 ![Exchange での Object Store v2 API のダウンロード](/mulesoft/current/ja-jp/object-store/_images/os-exchange-download.png) Figure 1. 矢印は、Exchange の ​**\[Download (ダウンロード)\]**​ ボタンを示しています。 ## [](#関連情報)関連情報 - [ローリング TTL](https://docs.mulesoft.com/jp/object-store/#rolling-ttl) - [Anypoint Exchange の Object Store v2 API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/) - [Anypoint Exchange の Object Store v2 Stats API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2-stats/) - [アクセス管理 API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/access-management-api/) - [Mule 4 用 Object Store Connector](https://docs.mulesoft.com/object-store-connector/latest/) - [Mule 3 用 Object Store Connector](#3.9@mule-runtime::object-store-connector.adoc) # Object Store v2 の使用 Anypoint Object Store v2 (Object Store v2) を使用すると、1 つのアプリケーション内で、あらゆる Mule Runtime ワーカーにわたってデータと状態を共有できます。 Object Store v2 は Mule 4 および Anypoint Platform EU コントロールプレーンではデフォルトで有効です。 Mule 3 では、​**\[Anypoint Platform\] > \[Runtime Manager\]**​ から、Object Store v2 にアクセスするアプリケーションで Object Store v2 を有効にします。 ## [](#コンポーネント)コンポーネント Object Store v2 は、次のコンポーネントとやりとりします。 - オブジェクトストア用 Anypoint Connector (Object Store Connector) Object Store Connector を Anypoint Studio で使用して、オブジェクトストアを読み書きするためのフローを作成します。 Object Store Connector は Object Store バージョン 1 と 2 の両方で動作します。 Object Store v2 を Mule 4 アプリケーションで使用する場合は、​**\[Object store (オブジェクトストア)\]**​ メニューから適切なオブジェクトストアの設定参照を選択してください。 - REST API Object Store v2 API を使用すると、オブジェクトの作成と削除、オブジェクトの TTL (存続期間) の設定、使用制限の設定ができます。 Object Store v2 Stats API を使用すると、組織が Object Store に対して行う 1 か月あたりの API コール数など、Object Store v2 の使用量統計を取得できます。 - Anypoint Runtime Manager Object Store v2 を有効にすると、​**\[Runtime Manager\] > \[Application Data (アプリケーションデータ)\]**​ オプションが ​**\[Object Store\]**​ に変更されます。 **\[Object Store\]**​ ページから、オブジェクトストアのオブジェクトとその値を管理できます。 ### [](#オブジェクトストアデータの保護)オブジェクトストアデータの保護 Object Store v2 では、セキュアなトランスポートに TLS を使用します。 保管時のデータは、FIPS 140-2 準拠の暗号化標準を使用して保存されます。 より高いレベルのセキュリティが必要な場合、機密データは暗号化してからオブジェクトストアに書き出します。 ### [](#object-store-v2-へのアクセスの同期)Object Store v2 へのアクセスの同期 マルチワーカー CloudHub アプリケーションで Object Store v2 を使用すると、データの不一致やキーの競合が発生する可能性があります。 これらの問題を回避するには、分散されたキー - 値ストアをロックとして使用し、Object Store v2 へのアクセスを同期します。 Mule Runtime Engine での分散ロッキングについては、​[「分散ロッキング」](https://docs.mulesoft.com/mule-runtime/latest/distributed-locking)​を参照してください。 ## [](#object-store-connector-を-mule-4-プロジェクトに追加する)Object Store Connector を Mule 4 プロジェクトに追加する Object Store Connector をインストールして Mule プロジェクトに追加します。 1. Studio で Mule プロジェクトを作成します。 2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。 3. **\[Add Dependencies to Project (連動関係をプロジェクトに追加)\]**​ で、検索項目に「​`Object Store`​」と入力します。 4. **\[Available modules (使用可能なモジュール)\]**​ で ​**\[ObjectStore Connector - Mule 4\]**​ をクリックし、​**\[Add (追加)\]**​ をクリックします。 5. **\[Finish (完了)\]**​ をクリックします。 ## [](#アプリケーションで-object-store-connector-を使用する)アプリケーションで Object Store Connector を使用する 1. Studio で、次のような簡単なフローを作成します。 ![Studio の Listener 操作と Store 操作](/mulesoft/current/ja-jp/object-store/_images/os-studio7-flow.png) Figure 1. このスクリーンショットは、​**os-Simple-Flow**​ フローの (​**1**​) ​**Listener**​ 操作と (​**2**​) ​**Store**​ 操作を示します。

Connector (コネクタ)

パラメーター

HTTP Listener (HTTP リスナー)

Connector configuration (コネクタ設定)​ = ​HTTP_Listener_config​

Path (パス)​ = ​/store

オブジェクトストア

Key (キー)​ = ​#[payload.key]​

Value (値)​ = ​[payload.value]

Object Store v2 では、キーでのパイプ (​`|`​) 文字の使用はサポートされていません。
Object Store v2 を使用するには、​[Global Elements (グローバル要素)]​ ページのオブジェクトストアの設定参照で ​[Persistent (永続的)]​ オプションが選択されていることを確認します。 XML に ​persistent="false"​ が含まれる場合、アプリケーションでは Object Store v2 は使用されません。
2. アプリケーションを保存します。 3. **Package Explorer**​ でアプリケーション名を右クリックし、​**\[Anypoint Platform\] > \[Deploy to CloudHub (CloudHub にデプロイ)\]**​ を選択します。 4. Anypoint Platform にサインインするように促されたら、サインインします。 5. **\[Deploy Application (アプリケーションをデプロイ)\]**​ をクリックし、​**\[Open in Browser (ブラウザーで開く)\]**​ をクリックします。 6. Runtime Manager で、アプリケーションの ​**\[Status (状況)\]**​ 列をクリックします。 7. 詳細ペインで、​**\[App url (アプリケーション URL)\]**​ アドレスをコピーします。 ## [](#オブジェクトストアにデータを送信する)オブジェクトストアにデータを送信する コマンドラインプロンプトから、​`curl`​ コマンドを使用して JSON データを Mule アプリケーションに送信します。 curl -X POST -H "Content-Type: application/json" -d '{ "key": "TestKey01", "value": "Testing" }' "http://app-url/store" `app-url`​ は Runtime Manager で ​**\[App url (アプリケーション URL)\]**​ からコピーした名前に変更します。 ## [](#オブジェクトストアのデータを表示する)オブジェクトストアのデータを表示する オブジェクトストアのデータを表示する手順は、次のとおりです。 1. Runtime Manager で、アプリケーションの名前をクリックしてダッシュボードを表示します。 2. 左側のナビゲーションペインで ​**\[Object Store (オブジェクトストア)\]**​ をクリックします。 3. オブジェクトストア、パーティション、そしてキーをクリックします。 ![Runtime Manager の \[Object Store (オブジェクトストア)\] オプション、キー、値](_images/os-rtm-key-in-os.png) Figure 2. このスクリーンショットは、(​**1**​) オブジェクトストア、(​**2**​) キー、(​**3**​) オブジェクトストアの値を示しています。 各列に、オブジェクトストア名、パーティション名、キー、キーデータが表示されます。 パーティションでオブジェクトストアのキーがグループ化されます。 `curl`​ から送信した ​`TestKey01`​ キーが ​`[binary value] BINARY`​ 値でオブジェクトストアに表示されます。 この値はバイナリです。これは、Mule 4 では値を Mule オブジェクトでラップして、Anypoint Platform で値がバイナリでのみ表示されるようにするためです。 4. キーを削除するには、キー名にカーソルを置き、ゴミ箱アイコンをクリックします。 同様に、パーティションやストア自体もその上にマウスポインターを置き、ゴミ箱アイコンをクリックすれば削除できます。
実行中のアプリケーションに関連付けられているオブジェクトストアは削除しないでください。 エラーを防ぐには、オブジェクトストアを削除する前にアプリケーションを停止します。
チュートリアルでは、Mule 3 および Mule 4 アプリケーションでのオブジェクトストアの作成に関するより詳細な情報を提供しています。 ## [](#カスタム存続期間を設定する)カスタム存続期間を設定する カスタム存続期間 (TTL) は、オブジェクトストア設定で定義されたパーティションに適用されます。 ローリング TTL の動作についての詳細は、​[「ローリング TTL」](https://docs.mulesoft.com/jp/object-store/#rolling-ttl)​を参照してください。 オブジェクトストアに保存されているキーのカスタム TTL 期間を設定する手順は、次のとおりです。 1. Mule Runtime Engine バージョン 4.2.1 以降を使用するアプリケーションを作成します。 2. アプリケーションでオブジェクトストアを設定します。 3. フローで ​**Store**​ 操作を選択し、プロパティウィンドウで ​**\[Object store (オブジェクトストア)\]**​ 項目の右にある緑のプラスアイコン (+) をクリックします。 ![プロパティウィンドウの緑のプラスアイコン](/mulesoft/current/ja-jp/object-store/_images/os-use-ttl-props.png) Figure 3. 矢印は、プロパティウィンドウの緑のプラスアイコンを示しています。 4. **\[Global Object Store Configuration (グローバルオブジェクトストア設定)\]**​ ウィンドウで TTL エントリを設定します。 ![「Global Object Store Configuration (グローバルオブジェクトストア設定)」 ウィンドウ](/mulesoft/current/ja-jp/object-store/_images/os-use-ttl-global-props.png) Figure 4. 矢印は、​**\[Global Object Store Configuration (グローバルオブジェクトストア設定)\]**​ ウィンドウの ​**\[Entry ttl (エントリ TTL)\]**​ 項目を示しています。
Object Store v2 では、​[Max entries (最大エントリ)]​ 項目は設定できません。
- **Entry ttl (エントリ TTL)**​ Mule 4.2.1 以降では、0 から 2592000 秒 (30 日) までのカスタム TTL 値を入力します。 **Entry ttl**​ が空白でなければ、TTL は静的です。 この項目を空白のままにした場合、TTL が有効になります。2592000 秒より大きい場合、TTL のデフォルトは 2592000 秒になります。 4.2.1 より前の Mule バージョンについては、この項目を空白のままにすると TTL が 2592000 秒に設定されます。 - **Entry ttl unit (エントリ TTL 単位)** MINUTES (分) のように TTL 時間間隔を指定します。 - **Expiration interval (有効期限間隔)** 有効期間スレッドを実行する頻度を指定します。 このパラメーターは ​**\[Entry ttl (エントリ TTL)\]**​ 値より小さい正の値に設定します。 この項目が空白であるか、値が 0 以下の場合、Object Store v2 では ​**\[Entry ttl (エントリ TTL)\]**​ が無視されます。 - **Expiration interval unit (有効期限間隔単位)** MINUTES (分) のように有効期限間隔時間単位を指定します。 5. **\[OK\]**​ をクリックしてウィンドウを閉じます。 ## [](#オブジェクトストアパーティションを作成する)オブジェクトストアパーティションを作成する _パーティション_​を使用して複数のオブジェクトストアをアプリケーションに関連付けることができます。 Object Store v2 でパーティションを作成する手順は、次のとおりです。 1. アプリケーションを作成して Store 操作をフローに追加します。 2. Store 操作を設定します。 3. パーティションを設定します。 1. プロパティウィンドウで、​**\[Object store (オブジェクトストア)\]**​ 項目の右にある緑のプラスアイコン (+) をクリックします。 ![プロパティウィンドウの緑のプラスアイコン](/mulesoft/current/ja-jp/object-store/_images/os-use-ttl-props.png) Figure 5. 矢印は、プロパティウィンドウの緑のプラスアイコンを示しています。 2. **\[Global Element Properties (グローバル要素のプロパティ)\]**​ ウィンドウで、​**\[Configuration Reference (設定参照)\]**​ の右にある緑のプラスアイコン (+) をクリックしてグローバルオブジェクトストア設定を作成します。 ![「Global Element Properties (グローバル要素のプロパティ)」 ウィンドウの 「Configuration Reference (設定参照)」 項目の緑のプラスアイコン](/mulesoft/current/ja-jp/object-store/_images/os-use-partition-studio7-os-global-props.png) Figure 6. 矢印は、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ ウィンドウの ​**\[Configuration Reference (設定参照)\]**​ 項目の緑のプラスアイコンを示しています。 3. オブジェクトストア設定に名前を付けて、​**\[OK\]**​ をクリックします。 4. 適切な設定参照が選択されていることを確認して、​**\[OK\]**​ をクリックします。 5. 適切なオブジェクトストアが選択されていることを確認して、​**\[OK\]**​ をクリックします。 4. 作成する各パーティションでステップ 3 を繰り返します。 5. アプリケーションを CloudHub にデプロイし、キー-値ペアをオブジェクトストアに送信します。 6. Runtime Manager で ​**\[Applications (アプリケーション)\]**​ をクリックし、アプリケーションを選択して左側のナビゲーションペインで ​**\[Object Store (オブジェクトストア)\]**​ をクリックします。 7. オブジェクトストアを選択します。 オブジェクトストアに関連付けられたパーティションが ​**\[Object Store (オブジェクトストア)\]**​ ページに表示されます。 ![「Object Store (オブジェクトストア)」 ページのパーティション](/mulesoft/current/ja-jp/object-store/_images/os-use-partitions-rtm.png) Figure 7. 矢印は、​**\[Object Store (オブジェクトストア)\]**​ ページのパーティションを示しています。 ## [](#mule-maven-プラグインを使用して-object-store-v2-を使用するアプリケーションをデプロイ)Mule Maven プラグインを使用して Object Store v2 を使用するアプリケーションをデプロイ Mule Maven プラグインバージョン 3.4.0 以前を使用してアプリケーションを CloudHub にデプロイする場合、次の手順を実行します。 1. ``​ 要素を ​`pom.xml`​ プロジェクトファイルに追加します。 ```xml ... true ... ``` 2. Runtime Manager の ​**\[Deploy Application (アプリケーションをデプロイ)\]**​ ページで ​**\[Use Object Store v2 (Object Store v2 を使用)\]**​ を選択します。 ## [](#関連情報)関連情報 - [チュートリアル: Object Store v2](https://docs.mulesoft.com/jp/object-store/osv2-tutorial) - [ローリング TTL](https://docs.mulesoft.com/jp/object-store/#rolling-ttl) - [パーティションを使用するメリットは?](https://docs.mulesoft.com/jp/object-store/osv2-faq#what-are-the-advantages-of-using-partitions) - [Object Store v2 API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/) - [Object Store v2 Stats API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2-stats/) - [Object Store v2 Release Notes (Object Store v2 リリースノート)](https://docs.mulesoft.com/jp/release-notes/object-store/anypoint-osv2-release-notes) - [Object Store Connector - Mule 4](https://docs.mulesoft.com/object-store-connector/latest/) - [Object Store Connector - Mule 3](#3.9@mule-runtime::object-store-connector.adoc) - [CloudHub へのアプリケーションのデプロイ](https://docs.mulesoft.com/mule-runtime/latest/deploy-to-cloudhub) # Object Store v2 の概要 Object Store v2 を使用すると、1 つの CloudHub アプリケーション内から、または Object Store REST API を使用して、あらゆるバッチプロセスや Mule コンポーネントおよびアプリケーションにわたってデータと状態を保存できます。 デプロイメント時に Runtime Manager の ​**\[Object Store V2\]**​ チェックボックスをオンにすることで、CloudHub で Mule 3 と Mule 4 の実装として Object Store v2 を選択できます。 Object Store に関する情報は、​[FAQ](https://docs.mulesoft.com/jp/object-store/osv2-faq)​ を参照してください。 ![Object Store v2 アーキテクチャ](/mulesoft/current/ja-jp/object-store/_images/osv2-architecture.png) オンプレミス Mule アプリケーションは、Object Store REST API を介してのみ Object Store v2 にアクセスできます。 Object Store REST API を使用して別の Mule アプリケーションのオブジェクトストアからの値を保存および取得するように Mule アプリケーションを設定できます。 ## [](#object-store-v2-の機能)Object Store v2 の機能 - データの永続性の目的で、静的とローリングの両方の ​[TTL](#time-to-live)​ (存続期間) をサポートしています。 - 接続アプリケーション機能を使用した、API を使用しての Anypoint Platform への認証をサポートします。 「[接続アプリケーションの設定](https://docs.mulesoft.com/jp/object-store/osv2-connected-apps)」を参照してください。 - 無制限のエントリ数。v2 object-store の合計サイズに制限はありません。 - 最大サイズ 10 MB (Base64 エンコードの場合) の値を保存。ペイロードの base64 サイズは CEILING(base10size \* 1024/3) \* 4 で見積もることができます。ここで、base10size はオブジェクトサイズのバイト数です。 + たとえば、base10 ペイロードサイズが 7.5 MB の場合、base64 では 10.24 MB に変換されます。 - サポート対象リージョンと各リージョン内の可用性ゾーンのすべてで使用可能。 - ワーカーと同じリージョンに存在。たとえば、シンガポールでホストされているワーカーは、シンガポールでホストされている Object Store v2 を使用します。 - 外部アプリケーションがアクセスするための Mule Connector と REST インターフェースを提供。 - エンドツーエンドでセキュアな TLS トランスポートを提供。 - 永続的ストレージを FIPS 140-2 準拠の標準を使用して暗号化。 v1 または v2 のいずれを使用していても、既存の Object Store Connector を使用してオブジェクトストアに書き込むことができます。 Object Store v2 のユーザーインターフェースは、\[Anypoint Platform\] > \[Runtime Manager\] で使用できます。 ## [](#time-to-live)存続期間 (TTL) TTL は ​[_rolling_](#rolling-ttl)​ または ​[_static_](#static-ttl)​ のいずれかです。 コネクタのグローバル設定パラメーターで指定される ​`entryTtl`​ 値によって、ストアからキー-値ペアを削除するタイミングが決まります。 アプリケーションで ​`entryTtl`​ の値が指定されない場合、デフォルト値はアプリケーションの Mule バージョンによって異なります。 - Mule バージョン 4.2.1 以降: オブジェクトストアはデフォルトでローリング TTL になります。 30 日期間の最後の 7 日間にデータにアクセスすると、TTL が 30 日延長されます。 - 4.2.1 より前の Mule バージョン: オブジェクトストアはデフォルトで 30 日の静的 TTL になります。 (たとえば、キーを上書きして) データを更新すると、TTL がリセットされます。 TTL を設定する場合は、​[「カスタム存続期間を設定する」](https://docs.mulesoft.com/jp/object-store/osv2-guide#configure-a-custom-time-to-live-period)​を参照してください。 ### [](#rolling-ttl)ローリング TTL ローリング TTL を設定した場合、30 日期間の最後の 7 日間にデータにアクセスすると、TTL が 30 日延長されます。 このときにデータにアクセスしなかった場合は、直近の有効期限から 7 ~ 30 日後にオブジェクトストアのデータが削除されます。 Object Store Connector の操作で TTL を延長するものは次のとおりです。
TTL を延長するもの TTL を延長しないもの

Retrieve

Contains

Retrieve All

Clear

Retrieve All Keys

Remove (削除)

Store (保存)

- 最小ローリング TTL は 30 日 (2592000 秒) です。 - 最大ローリング TTL は、30 日期間の最後の 7 日間にデータにアクセスし続ける限り無制限です。 ### [](#static-ttl)静的 TTL 静的 TTL を設定した場合、​`entryTtl`​ の値によってデータを削除する時点が異なります。 - 最小静的 TTL は 1 秒です。 - 最大 (デフォルト) 静的 TTL は 2592000 秒 (30 日) です。 `entryTtl`​ 値が 1 秒未満または 30 日を超える場合、TTL が最大値である 2592000 秒 (30 日) に設定され、エラーは返されません。 (たとえば、キーを上書きして) データを更新すると、TTL がリセットされます。 ## [](#object-store-v2-へのアップグレード)Object Store v2 へのアップグレード - 現在のオブジェクトストアのデータすべてをバックアップします。
データは Object Store v1 から v2 に引き継がれません。 Object Store v1 内にあるデータは、ウォーターマークやその他の Mule コンポーネントの状態を含め、v2 に移行されません。Object Store v1 に戻すと、Object Store v1 データは以前のまま残っています。
- Object Store v2 にアクセスするには、Anypoint Platform で ​**\[Runtime Manager\]**​ をクリックします。アプリケーションの名前をクリックしてそのダッシュボードを表示し、​**\[Manage Application (アプリケーションを管理)\]**​ をクリックします。​**\[Settings (設定)\]**​ 画面で、​**\[Use Object Store v2 (Object Store v2 を使用)\]**​ をクリックします。画面の指示を受け入れます。Runtime Manager のダッシュボードで、​**\[Application Data (アプリケーションデータ)\]**​ セクションが ​**\[Object Store\]**​ に変わります。 ![Runtime Manager で \[Use Object Store v2 (Object Store v2 を使用)\] をオンにします。](_images/os-use-object-store-v2.png) ## [](#object-store-に関するメモ)Object Store に関するメモ - Object Store v2 リージョンをどこで使用できるかは、​[「Object Store v2 を使用できるリージョンは?」](https://docs.mulesoft.com/jp/object-store/osv2-faq#where-is-object-store-v2-available)​を参照してください。 - Object Store Connector は Object Store バージョン 1 と 2 の両方で動作します。 - Object Store v2 では、作成時から最長 30 日間のデータ存続期間が適用されます。 - プレミアムアドオンのお客様は、アプリケーションごとに最大 100 TPS まで使用できます。 無料の Object Store v2 では、アプリケーションごとに 1 秒あたり 10 件のトランザクション (TPS) に使用が制限されます。 プレミアムにアップグレードして TPS の制限を増やすには、MuleSoft アカウントチームにお問い合わせください。 - Mule 4 を使用する CloudHub アプリケーションでは、Object Store v2 を選択すると、Object Store v2 で ​`_defaultPersistentObjectStore`​ オブジェクトストアが上書きされます。 Mule 3 を使用する CloudHub アプリケーションでは、Object Store v2 で ​`_defaultUserObjectStore`​ オブジェクトストアが上書きされます。Mule 3 CloudHub アプリケーションで Object Store v2 を使用するには、\[Object Store Reference (オブジェクトストア参照)\] 項目の値を「​`_defaultUserObjectStore`​」に設定します。 - マルチワーカー CloudHub アプリケーションで Object Store v2 を使用すると、データの不一致やキーの競合が発生する可能性があります。 これらの問題を回避するには、分散されたキー - 値ストアをロックとして使用し、Object Store v2 へのアクセスを同期します。 Mule Runtime Engine での分散ロッキングについては、​[「分散ロッキング」](https://docs.mulesoft.com/mule-runtime/latest/distributed-locking)​を参照してください。 ## [](#関連情報)関連情報 - [Object Store v2 FAQ](https://docs.mulesoft.com/jp/object-store/osv2-faq) - [Object Store v2 Release Notes (Object Store v2 リリースノート)](https://docs.mulesoft.com/jp/release-notes/object-store/anypoint-osv2-release-notes) - [Object Store v2 の使用](https://docs.mulesoft.com/jp/object-store/osv2-guide) - [チュートリアル: Object Store v2](https://docs.mulesoft.com/jp/object-store/osv2-tutorial) - [使用量グラフの表示](https://docs.mulesoft.com/jp/object-store/osv2-usage) - [REST API: Object Store v2](https://docs.mulesoft.com/jp/object-store/osv2-apis) - [Mule 3 Object Store Connector](#3.9@mule-runtime::object-store-connector.adoc) - [Object Store のウォーターマーク](https://blogs.mulesoft.com/dev/anypoint-platform-dev/data-synchronizing-made-easy-with-mule-watermarks/) # チュートリアル: Object Store v2 からのデータの保存と取得 このチュートリアルを使用して、Object Store v2 によるデータの保存と表示を開始します。 シリアル化可能なデータはすべてキー-値ペアとしてオブジェクトストアに送信できます。 このチュートリアルでは、Design Center と Anypoint Studio で 1 つずつ、合計 2 つのアプリケーションを作成します。 1. アプリケーションで、オブジェクトストア用 Anypoint Connector (Object Store Connector) を設定します。 2. オブジェクトストアにデータを送信します。 3. Runtime Manager でデータを表示します。 使用する Mule バージョンに応じて Studio 7 (Mule 4) または Studio 6 (Mule 3) にアプリケーションを作成します。 ## [](#前提条件)前提条件 - Anypoint Studio、Anypoint Platform、Runtime Manager の知識を持っていること。 - [Anypoint Platform アカウント](https://anypoint.mulesoft.com) Anypoint Platform のログイン情報がない場合は、Anypoint Platform のサインインページで ​**\[Sign Up (サインアップ)\]**​ をクリックしてください。 - Anypoint Platform の ​**\[Access Management (アクセス管理)\] > \[Environments (環境)\]**​ 環境で設定済みの \[Design (設計)\] 環境。 **\[Access Management (アクセス管理)\]**​ が表示されない場合は、サイト管理者にお問い合わせください。 - システムにインストール済みの Anypoint Studio: - Studio 7 [「Anypoint Studio のダウンロードおよびインストール」](https://docs.mulesoft.com/studio/to-download-and-install-studio)​を参照してください。 - Studio 6 [「Anypoint Studio のダウンロードおよびインストール」](#6.x@studio::to-download-and-install-studio.adoc)​を参照してください。 - テスト用の [`curl`](https://curl.haxx.se)​ コマンド このチュートリアルでは、\[HTTP Listener (HTTP リスナー)\] トリガーを使用して Object Store Connector へのアクセスを開始し、​`curl`​ コマンドを使用して JSON データを Mule アプリケーションに送信します。 `curl`​ の代わりに Postman などのブラウザープラグインを使用することもできます。 Design Center を使用する前に、ブラウザーで LastPass や Okta などのパスワードプログラムを無効にします。 有効になっている場合、パスワードプログラムが Design Center の項目にパスワードを挿入するため、アプリケーションが失敗する可能性があります。 ## [](#design-center-でのオブジェクトストアを使用したアプリケーションの作成)Design Center でのオブジェクトストアを使用したアプリケーションの作成 Design Center を使用して、\[HTTP Listener (HTTP リスナー)\] トリガーと Object Store Connector を含むアプリケーションを設定します。 その後、​`curl`​ コマンドを使用してキーと値を送信し、Runtime Manager でキーを表示できます。 Design Center でアプリケーションを設定する手順は、次のとおりです。 1. **Anypoint Platform**​ の左側のナビゲーションバーまたはメイン画面で ​**\[Design Center\]**​ をクリックします。 2. **\[Create new (新規作成)\]**​ > ​**\[Create new application (新規アプリケーションの作成)\]**​ をクリックします。 ![\[Create new application (新規アプリケーションの作成)\] オプション](_images/os-tutorial-dc-create-app.png) Figure 1. 矢印は、​**\[Create new application (新規アプリケーションの作成)\]**​ オプションを示しています。 3. **\[New Mule Application (新規 Mule アプリケーション)\]**​ ウィンドウで、プロジェクト名に ​`osv2demo`​ と入力し、​**\[Create (作成)\]**​ をクリックします。 4. ウィザードで、​**\[Go straight to canvas (キャンバスに直接移動)\]**​ をクリックします。 ![\[Go straight to canvas (キャンバスに直接移動)\] オプション](_images/os-tutorial-dc-goto-canvas.png) Figure 2. 矢印は、​**\[Go straight to canvas (キャンバスに直接移動)\]**​ オプションを示しています。 5. **\[Trigger (トリガー)\]**​ をクリックし、​`H`​ と入力して「HTTP Listener」 (HTTP リスナー) を検索します。 ![\[HTTP Listener (HTTP リスナー)\] の検索](_images/os-tutorial-dc-http-search.png) Figure 3. 矢印は、​**\[HTTP Listener (HTTP リスナー)\]**​ を示しています。 6. **\[HTTP Listener (HTTP リスナー)\]**​ を開きます。 7. **\[HTTP Listener (HTTP リスナー)\]**​ ウィンドウで、​**\[Path (パス)\]**​ の値を ​`/store`​ に設定し、​**\[Close (閉じる)\]**​ ボタン (X) をクリックします。 ![\[Path (パス)\] の値と \[Close (閉じる)\] ボタン (X)](_images/os-tutorial-dc-http-path.png) Figure 4. このスクリーンショットは、(​**1**​) ​**\[Path (パス)\]**​ の値と (​**2**​) \[Close (閉じる)\] ボタン (​**X**​) を示しています。 \[HTTP Listener (HTTP リスナー)\] のデフォルト設定は適切であるため、​**\[Edit (編集)\]**​ をクリックする必要はありません。 8. \[HTTP Listener (HTTP リスナー)\] トリガーの右にあるプラスアイコン (​**+**​) をクリックします。 ![プラスアイコン](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-dc-plus-icon.png) Figure 5. 矢印は、プラスアイコン (+) を示しています。 9. **\[Select a component (コンポーネントを選択)\]**​ ウィンドウで、​`ob`​ と入力し、\[ObjectStore Connector\] を検索します。 ![ObjectStore Connector を検索する](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-dc-os-search.png) Figure 6. 矢印は、ObjectStore Connector を示しています。 10. コネクタをクリックしてから ​**Store**​ 操作をクリックします。 ![Store 操作](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-dc-store-select.png) Figure 7. 矢印は、​**Store**​ 操作を示しています。 11. **\[Configuration (設定)\]**​ タブの ​**\[Key (キー)\]**​ 項目で ​`#[payload.key]`​ を指定し、​**\[Value (値)\]**​ 項目で ​`payload.value`​ を指定します。 ![Store 操作の \[Key (キー)\] 項目と \[Value (値)\] 項目](_images/os-tutorial-dc-store-values.png) Figure 8. このスクリーンショットは、(​**1**​) ​**\[Key (キー)\]**​ 項目と (​**2**​) ​**\[Value (値)\]**​ 項目を示しています。 キーの最大サイズは 1024 バイトです (UTF-8 エンコード)。 Object Store v2 では、キーでのパイプ (​`|`​) 文字の使用はサポートされていません。 12. **\[Test (テスト)\]**​ をクリックして、一時的な場所でアプリケーションを実行します。 アプリケーションが一時的な環境で実行を開始します。 ![一時的な環境で実行されている osv2demo アプリケーション](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-dc-running.png) Figure 9. 矢印は、​`osv2demo`​ アプリケーションが一時的な環境で実行されていることを示すメッセージを示しています。 Design Center を使用して、オブジェクトストアを持つアプリケーションを正常に設定し、一時的な環境にデプロイしました。 次に、REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、接続をテストします。 ### [](#design-center-アプリケーションのテスト)Design Center アプリケーションのテスト Design Center でアプリケーションを作成したら、​`curl`​ コマンドを使用して REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、アプリケーションをテストします。 アプリケーションをテストする手順は、次のとおりです。 1. コピーアイコンをクリックして、デプロイメント URL をコピーします。 ![デプロイメント URL のコピーアイコン](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-dc-copy-link.png) Figure 10. 矢印は、デプロイメント URL のコピーアイコンを示しています。 2. コマンドラインで ​`curl`​ コマンドを実行して、キー-値ペアをオブジェクトストアに送信します。​_DEPLOYMENT-URL_​ には、Design Center からコピーしたデプロイメント URL を指定してください。 ```json curl -X POST \ "http://DEPLOYMENT-URL/store" -H "Content-Type: application/json" -d '{ "key": "myKey", "value": "OSv2 Test" }' ``` このコマンドの出力は次のようになります。 ```console { "key": "myKey", "value": "OSv2 Test" } ``` 3. 右上隅の ​**\[…​\]**​ メニューから ​**\[View in Runtime Manager (Runtime Manager で表示)\]**​ を選択します。 ![\[View in Runtime Manager (Runtime Manager で表示)\] メニューオプション](_images/os-tutorial-dc-view-rtm-option.png) Figure 11. 矢印は、Design Center の ​**\[…​\]**​ メニューと ​**\[View in Runtime Manager (Runtime Manager で表示)\]**​ オプションを示しています。 4. **Runtime Manager**​ の左側のナビゲーションペインで ​**\[Object Store (オブジェクトストア)\]**​ をクリックします。 5. オブジェクトストア、パーティション、そしてキーをクリックします。 ![Runtime Manager のオブジェクトストアのキーと値](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-rtm-key-in-os.png) Figure 12. このスクリーンショットは、(​**1**​) オブジェクトストア、(​**2**​) キー、(​**3**​) オブジェクトストアの値を示しています。 `curl`​ から送信した ​`myKey`​ キーが ​`[binary value] BINARY`​ の値でオブジェクトストアに表示されているのがわかります。 `curl`​ から送信した ​`myKey`​ キーが ​`[binary value] BINARY`​ の値でオブジェクトストアに表示されています。 この値はバイナリです。これは、Mule 4 では値を Mule オブジェクトでラップして、Anypoint Platform で値がバイナリでのみ表示されるようにするためです。 `curl`​ コマンドを使用してキー-値ペアをオブジェクトストアに格納し、Runtime Manager で結果を表示しました。 値が正しいことを検証するには、Design Center に戻り、値を取得するための新しいフローを追加します。 ### [](#値を取得するフローを作成する)値を取得するフローを作成する 'myKey\` の値を取得するための新しいフローを作成する方法: 1. Design Center の左側にある ​**\[Project (プロジェクト)\]**​ 領域で ​**\[Flows (フロー)\]**​ メニューを展開します。 2. 3 つのドットのメニューから ​**\[Rename (名前変更)\]**​ を選択し、既存のフロー名を ​`New Flow`​ から ​`Store`​ に変更します。 ![3 つのドットのメニューと \[Rename (名前変更)\] オプション](_images/os-tutorial-dc-rename-flow.png) Figure 13. このスクリーンショットは、(​**1**​) HTTP Connector と (​**2**​) ​**\[Rename (名前変更)\]**​ オプションを示しています。 3. **\[Flows (フロー)\]**​ の右にあるプラス記号をクリックします。 4. ウィザードで、​**\[Go straight to canvas (キャンバスに直接移動)\]**​ をクリックします。 ![\[Go straight to canvas (キャンバスに直接移動)\] オプション](_images/os-tutorial-dc-goto-canvas.png) Figure 14. 矢印は、​**\[Go straight to canvas (キャンバスに直接移動)\]**​ オプションを示しています。 5. **\[Trigger (トリガー)\]**​ ボックスをクリックし、​`H`​ と入力して「HTTP Listener」 (HTTP リスナー) を検索します。 ![\[HTTP Listener (HTTP リスナー)\] の検索](_images/os-tutorial-dc-http-search.png) Figure 15. 矢印は、\[HTTP Listener (HTTP リスナー)\] を示しています。 6. **\[HTTP Listener (HTTP リスナー)\]**​ を開きます。 7. **\[HTTP Listener (HTTP リスナー)\]**​ ウィンドウで、​**\[Path (パス)\]**​ の値を ​`/retrieve`​ に設定し、​**\[Close (閉じる)\]**​ ボタン (X) をクリックします。 ![\[Path (パス)\] の値と \[Close (閉じる)\] ボタン (X)](_images/os-tutorial-dc-http-retrieve-path.png) Figure 16. このスクリーンショットは、(​**1**​) ​**\[Path (パス)\]**​ の値と (​**2**​) \[Close (閉じる)\] ボタン (​**X**​) を示しています。 \[HTTP Listener (HTTP リスナー)\] のデフォルト設定は適切であるため、​**\[Edit (編集)\]**​ をクリックする必要はありません。 8. この新しいフローの名前を ​`Retrieve`​ に変更します。 9. \[HTTP Listener (HTTP リスナー)\] トリガーの右にあるプラスアイコン (+) をクリックして Object Store Connector を追加します。 10. **\[Select a component (コンポーネントを選択)\]**​ ウィンドウで、​`ob`​ と入力し、\[ObjectStore Connector\] を検索します。 ![Object Store Connector を検索する](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-dc-os-search.png) Figure 17. 矢印は、ObjectStore Connector を示しています。 11. コネクタをクリックしてから ​**Retrieve**​ 操作をクリックします。 12. **\[Configuration (設定)\]**​ タブの ​**\[Key (キー)\]**​ 項目で ​`#[attributes.queryParams.key]`​ を指定します。 ![Retrieve 操作の \[Key (キー)\] 項目](_images/os-tutorial-dc-retrieve-values.png) Figure 18. 矢印は、​**\[Retrieve\]**​ 設定の ​**\[Key (キー)\]**​ 項目を示しています。 13. **\[Test (テスト)\]**​ をクリックして、一時的な場所でアプリケーションを実行します。 14. コピーアイコンをクリックして、デプロイメント URL をコピーします。 ![デプロイメント URL のコピーアイコン](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-dc-copy-link.png) Figure 19. 矢印は、デプロイメント URL のコピーアイコンを示しています。 15. コマンドラインで次の ​`curl`​ コマンドを実行してキーを取得します。​_DEPLOYMENT-URL_​ には、Design Center からコピーしたデプロイメント URL を指定してください。 ```console curl http://DEPLOYMENT-URL/retrieve?key=myKey;echo ``` このコマンドの出力では、​`myKey`​ の値が表示されます。 ```console "OSv2 Test" ``` `curl`​ コマンドで REST API コマンドを Object Store API に送信して結果を取得することで、アプリケーションを正常にテストしました。 次に、Anypoint Studio 7 で Mule アプリケーションを作成してオブジェクトストアを追加します。 ## [](#anypoint-studio-7-でのオブジェクトストアを持つ-mule-4-アプリケーションの作成)Anypoint Studio 7 でのオブジェクトストアを持つ Mule 4 アプリケーションの作成 Anypoint Studio 7 を使用して、Design Center で作成したアプリケーションと同様の Mule 4 アプリケーションを作成できるようになりました。 まず、Studio 7 を使用して、\[HTTP Listener (HTTP リスナー)\] トリガーと Object Store Connector を含むアプリケーションを設定します。 その後、アプリケーションを CloudHub にデプロイし、​`curl`​ コマンドを使用してキーと値を送信し、Runtime Manager でキーを表示します。 Studio 7 で Mule 4 アプリケーションを設定する手順は、次のとおりです。 1. Studio を開始し、​**\[File (ファイル)\]**​ > ​**\[New (新規)\]**​ > ​**\[Mule Project (Mule プロジェクト)\]**​ をクリックし、プロジェクトに ​`osv2-demo`​ という名前を付けて、​**\[Finish (完了)\]**​ をクリックします。 2. Object Store Connector をインストールします。 1. ツールバーの ​**\[Exchange (エクスチェンジ)\]**​ アイコンをクリックします。 ![Studio 7 ツールバーの \[Exchange (エクスチェンジ)\] アイコン](_images/os-tutorial-studio7-exchange.png) Figure 20. 矢印は、Studio 7 ツールバーの ​**\[Exchange (エクスチェンジ)\]**​ アイコンを示しています。 2. パスワードの入力を促されたら、Anypoint Platform のユーザー名とパスワードを入力します。 3. Exchange で、​**\[Provided by MuleSoft (MuleSoft による提供)\]**​ を選択し、\[ObjectStore Connector\] を検索します。 ![Exchange の \[Provided by MuleSoft (MuleSoft による提供)\] オプションと検索項目](_images/os-tutorial-exchange.png) Figure 21. このスクリーンショットは、(​**1**​) ​**\[Provided by MuleSoft (MuleSoft による提供)\]**​ オプションと (​**2**​) 検索項目を示しています。 4. **\[ObjectStore Connector - Mule 4\]**​ を選択します。 5. **\[Add to project (プロジェクトに追加)\]**​ をクリックします。 ![Exchange の \[Add to project (プロジェクトに追加)\] アイコン](_images/os-tutorial-exchange-add-to-project.png) Figure 22. 矢印は、Exchange の ​**\[Add to project (プロジェクトに追加)\]**​ アイコンを示しています。 6. 確認ダイアログで ​**\[Proceed (続行)\]**​ をクリックし、​**\[OK\]**​ をクリックします。 3. **\[Mule Palette (Mule パレット)\]**​ ビューで ​**\[HTTP\]**​ をクリックし、​**\[Listener\]**​ を Studio キャンバスにドラッグします。 ![\[Mule Palette (Mule パレット)\] ビューの HTTP Connector と Listener 操作](_images/os-tutorial-studio7-palette.png) Figure 23. このスクリーンショットは、(​**1**​) HTTP Connector と (​**2**​) Listener 操作を示しています。 4. **\[ObjectStore\]**​ をクリックして ​**\[Store\]**​ をキャンバスの ​**\[Listener\]**​ の右側までドラッグします。 ![Studio 7 キャンバスの \[Store\] 操作](_images/os-tutorial-studio7-flow.png) Figure 24. 矢印は、Studio 7 キャンバスの ​**\[Store\]**​ 操作を示しています。 5. キャンバスで ​**\[Listener\]**​ をクリックします。 6. **\[Listener\]**​ プロパティウィンドウで、​**\[General (一般)\] > \[Path (パス)\]**​ を ​`/store`​ に設定します。 7. **\[Connector configuration (コネクタ設定)\]**​ 項目の右にある緑のプラスアイコン (+) をクリックします。 8. HTTP リスナーの ​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ ウィンドウで、​**\[Host (ホスト)\]**​ が ​`0.0.0.0`​ に設定され、​**\[Port (ポート)\]**​ が ​`8081`​ に設定されていることを確認し、​**\[OK\]**​ をクリックします。 **\[Listener\]**​ プロパティウィンドウに、エラーがないことが示されます。 ![\[Listener\] プロパティ](_images/os-tutorial-studio7-listener-props.png) Figure 25. このスクリーンショットは、Listener 操作の (​**1**​) ​**\[Path (パス)\]**​ プロパティと (​**2**​) ​**\[Connector configuration (コネクタ設定)\]**​ アイコンを示しています。 9. キャンバスで ​**Store**​ 操作をクリックします。 10. **\[Store\]**​ プロパティウィンドウの ​**\[Key (キー)\]**​ 項目で ​`#[payload.key]`​ を指定し、​**\[Value (値)\]**​ 項目で ​`payload.value`​ を指定します。 ![Store 操作の \[Key (キー)\] 項目と \[Value (値)\] 項目](_images/os-tutorial-studio7-store-props.png) Figure 26. このスクリーンショットは、Store 操作の (​**1**​) ​**\[Key (キー)\]**​ 項目と (​**2**​) ​**\[Value (値)\]**​ 項目を示しています。 キーの最大文字数は 256 です。 Object Store v2 では、キーでのパイプ (​`|`​) 文字の使用はサポートされていません。 11. フローを選択し、プロパティウィンドウで名前を ​`Store`​ に変更します。 ![\[Store\] フロープロパティウィンドウの \[Name (名前)\] 項目](_images/os-tutorial-studio7-store-flow-props.png) Figure 27. 矢印は、​**\[Store\]**​ フロープロパティウィンドウの ​**\[Name (名前)\]**​ 項目を示しています。 12. **\[Mule Palette (Mule パレット)\]**​ ビューで ​**\[HTTP\]**​ をクリックし、別の ​**\[Listener\]**​ をキャンバスの最初のフローの下までドラッグします。 13. **\[ObjectStore\]**​ をクリックして ​**\[Retrieve\]**​ を 2 番目のフローの ​**\[Listener\]**​ の右側までドラッグします。 14. キャンバスで ​**\[Listener\]**​ をクリックします。 15. **\[Listener\]**​ プロパティウィンドウで、​**\[General (一般)\] > \[Path (パス)\]**​ を ​`/retrieve`​ に設定します。 16. **\[Connector configuration (コネクタ設定)\]**​ メニューで、Store フローの Listener 操作に対してセットアップしたのと同じ ​**HTTP\_Listener\_config**​ オプションを選択します。 ![\[Listener\] プロパティウィンドウの \[Connector configuration (コネクタ設定)\] メニュー](_images/os-tutorial-studio7-retrieve-listener-props.png) Figure 28. 矢印は、​**\[Listener\]**​ プロパティウィンドウの ​**\[Connector configuration (コネクタ設定)\]**​ メニューを示しています。 17. キャンバスで ​**Retrieve**​ 操作をクリックします。 18. **\[Retrieve\]**​ プロパティウィンドウの ​**\[Key (キー)\]**​ 項目に ​`#[attributes.queryParams.key]`​ と指定します。 ![Retrieve 操作の \[Key (キー)\] 項目](_images/os-tutorial-studio7-retrieve-props.png) Figure 29. 矢印は、​**\[Retrieve\]**​ プロパティウィンドウの ​**\[Key (キー)\]**​ 項目を示しています。 19. 2 番目のフローを選択し、プロパティウィンドウで名前を ​`Retrieve`​ に変更します。 完了すると、フローは次のようになります。 ![Studio の Store フローと Retrieve フロー](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-studio7-flows.png) Figure 30. このスクリーンショットは、(​**1**​) ​**\[Store\]**​ フローと (​**2**​) ​**\[Retrieve\]**​ フローを示しています。 20. Studio の ​**Package Explorer**​ で、​`osv2-demo`​ を右クリックし、​**\[Anypoint Platform\]**​ > ​**\[Deploy to CloudHub (CloudHub にデプロイ)\]**​ を選択します。 21. 確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。 22. Anypoint Platform の ​**\[Deploying Application (アプリケーションのデプロイ)\]**​ ウィンドウで ​**\[Deploy Application (アプリケーションをデプロイ)\]**​ をクリックします。 ![\[Deploying Application (アプリケーションのデプロイ)\] ページの \[Deploy Application (アプリケーションをデプロイ)\] ボタン](_images/os-tutorial-deploy-app.png) Figure 31. 矢印は、​**\[Deploying Application (アプリケーションのデプロイ)\]**​ ページの ​**\[Deploy Application (アプリケーションをデプロイ)\]**​ ボタンを示しています。 23. **\[Open in Browser (ブラウザーで開く)\]**​ をクリックして、Runtime Manager でアプリケーションを表示します。 CloudHub で権限エラーが表示された場合は、デプロイ先として別の環境を選択してください。 Studio 7 を使用して、オブジェクトストアを持つアプリケーションを正常に設定しました。 次に、REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、接続をテストします。 ### [](#studio-7-アプリケーションをテストする)Studio 7 アプリケーションをテストする Studio 7 でアプリケーションを作成したら、​`curl`​ コマンドを使用して REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示します。 アプリケーションをテストする手順は、次のとおりです。 1. \[Runtime Manager\] で ​**\[Applications (アプリケーション)\]**​ をクリックし、​`osv2-demo`​ アプリケーションが実行されていることを確認します。 2. `osv2-demo`​ アプリケーションの ​**\[Status (状況)\]**​ 列をクリックし、その詳細を右側のペインに表示します。 3. **\[App url (アプリケーション URL)\]**​ の値をコピーします。 ![Runtime Manager の \[App url (アプリケーション URL)\]](_images/os-tutorial-rtm-deploy-url.png) Figure 32. 矢印は、Runtime Manager 内の詳細ペインの ​**\[App url (アプリケーション URL)\]**​ を示しています。 4. コマンドラインで次の ​`curl`​ コマンドを実行します。​_APP-URL_​ には、Runtime Manager からコピーした​**アプリケーション URL**​ を指定してください。 ```console $ curl -X POST -H "Content-Type: application/json" -d '{ "key": "myKey", "value": "OSv2 Test" }' "http://APP-URL/store";echo ``` このコマンドからの出力には、オブジェクトストアに送信したキー-値ペアが表示されます。 ```console { "key": "myKey", "value": "OSv2 Test" } ``` 5. Runtime Manager のアプリケーションの詳細ペインで ​**\[Manage application (アプリケーションを管理)\]**​ をクリックします。 ![詳細ペインでのアプリケーションの管理](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-rtm-manage-app.png) Figure 33. 矢印は、Runtime Manager 内の詳細ペインの ​**\[Manage application (アプリケーションを管理)\]**​ を示しています。 6. 左側のナビゲーションペインで ​**\[Object Store (オブジェクトストア)\]**​ をクリックします。 7. オブジェクトストア、パーティション、そしてキーをクリックします。 ![Runtime Manager の \[Object Store (オブジェクトストア)\] オプション、キー、値](_images/os-tutorial-rtm-key-in-os.png) Figure 34. このスクリーンショットは、(​**1**​) ​**\[Object Store (オブジェクトストア)\]**​ オプション、(​**2**​) キー、(​**3**​) オブジェクトストアの値を示しています。 `curl`​ から送信した ​`myKey`​ キーが ​`[binary value] BINARY`​ の値でオブジェクトストアに表示されています。 この値はバイナリです。これは、Mule 4 では値を Mule オブジェクトでラップして、Anypoint Platform で値がバイナリでのみ表示されるようにするためです。 8. コマンドラインで次の ​`curl`​ コマンドを実行してキーの値を表示します。​_APP-URL_​ には、Runtime Manager からコピーした​**アプリケーション URL**​ を指定してください。 ```console curl http://APP-URL/retrieve?key=myKey;echo ``` このコマンドの出力では、キーの値が表示されます。 ```console "OSv2 Test" ``` `curl`​ コマンドを使用してキー-値ペアをオブジェクトストアに格納し、キー-値ペアを取得して、Runtime Manager で結果を表示しました。 ### [](#studio-7-xml)Studio 7 XML Studio 7 で XML を使用して ​`osv2-demo`​ アプリケーションを作成するには、Studio で ​**\[Configuration XML (設定 XML)\]**​ タブをクリックし、XML を以下と比較して、必要に応じて修正を行います。 ```xml ``` ## [](#anypoint-studio-6-でのオブジェクトストアを持つ-mule-3-アプリケーションの作成)Anypoint Studio 6 でのオブジェクトストアを持つ Mule 3 アプリケーションの作成 Anypoint Studio 6 を使用して、Design Center で作成したアプリケーションと同様の Mule 3 アプリケーションを作成できます。 まず、Studio を使用して、Object Store Connector を含むアプリケーションを設定します。 その後、アプリケーションを CloudHub にデプロイし、​`curl`​ コマンドを使用してキーと値を送信し、Runtime Manager でキーを表示します。 Studio 6 で Mule 3 アプリケーションを設定する手順は、次のとおりです。 1. Studio を開始し、​**\[File (ファイル)\]**​ > ​**\[New (新規)\]**​ > ​**\[Mule Project (Mule プロジェクト)\]**​ をクリックし、プロジェクトに ​`osv2-demo-studio-6`​ という名前を付けて、​**\[Finish (完了)\]**​ をクリックします。 2. Object Store Connector をインストールします。 1. ツールバーの ​**\[Exchange (エクスチェンジ)\]**​ アイコンをクリックします。 ![Studio 6 ツールバーの \[Exchange (エクスチェンジ)\] アイコン](_images/os-tutorial-studio6-exchange.png) Figure 35. 矢印は、Studio 6 ツールバーの ​**\[Exchange (エクスチェンジ)\]**​ アイコンを示しています。 2. パスワードの入力を促されたら、Anypoint Platform のユーザー名とパスワードを入力します。 3. Exchange で、​**\[Provided by MuleSoft (MuleSoft による提供)\]**​ を選択し、\[ObjectStore Connector\] を検索します。 ![Exchange の \[Provided by MuleSoft (MuleSoft による提供)\] オプションと検索項目](_images/os-tutorial-exchange.png) Figure 36. このスクリーンショットは、(​**1**​) ​**\[Provided by MuleSoft (MuleSoft による提供)\]**​ オプションと (​**2**​) 検索項目を示しています。 4. **\[Object Store Connector - Mule 3\]**​ を選択します。 5. **\[Install (インストール)\]**​ をクリックします。 ![Exchange の \[Install (インストール)\] アイコン](_images/os-tutorial-exchange-add-to-project-3.png) Figure 37. 矢印は、Exchange の ​**\[Install (インストール)\]**​ アイコンを示しています。 6. 確認ダイアログで、インストールするアイテムを確認し、​**\[Next (次へ)\]**​ を 2 回クリックします。 7. ライセンス契約に同意して ​**\[Finish (完了)\]**​ をクリックします。 8. 確認ダイアログで、​**\[Restart Now (今すぐ再起動)\]**​ をクリックし、コネクタのインストールを終了します。 3. **\[Mule Palette (Mule パレット)\]**​ ビューで以下の操作を行います。 1. **\[HTTP\]**​ を Studio キャンバスにドラッグします。 ![\[Mule Palette (Mule パレット)\] ビューの HTTP Connector](_images/os-tutorial-studio6-palette.png) Figure 38. 矢印は、HTTP Connector を示しています。 2. `string`​ を検索し、​**\[Object to String\]**​ をキャンバスの ​**\[HTTP\]**​ の右側の ​**\[Process (プロセス)\]**​ 領域にドラッグします。 3. `json`​ を検索し ​**\[JSON to Object\]**​ をキャンバスの ​**\[Object to String\]**​ の右側にドラッグします。 4. `objects`​ を検索し、​**\[ObjectStore\]**​ をキャンバスの ​**\[JSON to Object\]**​ の右側にドラッグします。 5. `payload`​ を検索し ​**\[Set Payload\]**​ をキャンバスの ​**\[ObjectStore\]**​ の右側にドラッグします。 フローは次のようになります。 ![Studio 6 キャンバス内のフロー](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-studio6-flow-complete.png) Figure 39. 矢印は、キャンバス内のフローを示しています。 4. キャンバスで ​**\[HTTP\]**​ をクリックします。 5. **\[HTTP\]**​ プロパティウィンドウで以下を行います。 1. **\[Path (パス)\]**​ を ​`/store`​ に設定し、​**\[Allowed Methods (許可されるメソッド)\]**​ を ​`POST`​ に設定します。 curl コマンドを送信するとき、URL で ​`/store`​ オプションを使用します。 この ​**\[Allowed Methods (許可されるメソッド)\]**​ の設定により、​`curl`​ コマンドはオブジェクトストアへの情報の投稿 (POST) のみが行えます。 2. **\[Connector Configuration (コネクタ設定)\]**​ の右にある緑のプラスアイコン (+) をクリックします。 3. HTTP Connector の ​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ ウィンドウで、​**\[Host (ホスト)\]**​ が ​`0.0.0.0`​ に設定され、​**\[Port (ポート)\]**​ が ​`8081`​ に設定されていることを確認し、​**\[OK\]**​ をクリックします。 これで、​**\[HTTP\]**​ プロパティウィンドウは、エラーがないことを示します。 ![Studio 6 の HTTP プロパティ](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-studio6-http-props.png) Figure 40. 矢印は、​**\[HTTP\]**​ プロパティウィンドウを示しています。 6. キャンバスで ​**\[JSON to Object\]**​ をクリックし、​**\[Return Class (リターンクラス)\]**​ を ​`java.util.Map`​ に設定します。 ![Studio 6 の JSON to Object プロパティ](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-studio6-json-props.png) Figure 41. 矢印は、​**\[JSON to Object\]**​ プロパティウィンドウの ​**\[Return Class (リターンクラス)\]**​ 項目を示しています。 7. キャンバスで ​**\[ObjectStore\]**​ をクリックします。 8. **\[ObjectStore\]**​ プロパティウィンドウで以下を行います。 1. **\[Operation (操作)\]**​ を ​`Store`​ に設定し、次のように Store 操作値を設定します。 - **\[Key (キー)\]**​ を ​`#[payload.key]`​ に設定します。 キーの最大文字数は 256 です。 Object Store v2 では、キーでのパイプ (​`|`​) 文字の使用はサポートされていません。 - **\[Value Reference (値参照)\]**​ を ​`#[payload.value]`​ に設定します。 2. **\[Connector Configuration (コネクタ設定)\]**​ の右にある緑のプラスアイコン (+) をクリックします。 3. ObjectStore Connector の ​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ ウィンドウで、​**\[Partition (パーティション)\]**​ を ​`myPartition`​ に設定し、​**\[Object Store Reference (オブジェクトストア参照)\]**​ を ​`_defaultUserObjectStore`​ に設定してから、​**\[OK\]**​ をクリックします。 ![\[Global Element Properties (グローバル要素のプロパティ)\] ウィンドウの \[Partition (パーティション)\] 項目と \[Object Store Reference (オブジェクトストア参照)\] 項目](_images/os-tutorial-studio6-os-global-props.png) Figure 42. このスクリーンショットは、​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ ウィンドウの (​**1**​) ​**\[Partition (パーティション)\]**​ 項目と (​**2**​) ​**\[Object Store Reference (オブジェクトストア参照)\]**​ 項目を示しています。
データを Object Store v2 に保存するには、次のように ​[Object Store Reference (オブジェクトストア参照)]​ 項目を「​_defaultUserObjectStore​」に設定する必要があります。
これで、​**\[ObjectStore\]**​ プロパティウィンドウは、エラーがないことを示します。 ![Studio 6 の ObjectStore プロパティ](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-studio6-os-props.png) Figure 43. 矢印は、​**\[ObjectStore\]**​ プロパティウィンドウを示しています。 9. キャンバスで ​**\[Set Payload\]**​ をクリックします。 10. **\[Set Payload\]**​ プロパティウィンドウで、​**\[Value (値)\]**​ 項目を次のように設定します。 `KEY: #[payload.key] AND VALUE: #[payload.value] WERE SAVED` コマンドラインに表示されるこのメッセージは、​`curl`​ コマンド値がアプリケーションに受信されたことを示します。 ![\[Set Payload\] プロパティウィンドウの \[Value (値)\] 項目](_images/os-tutorial-studio6-payload-props.png) Figure 44. 矢印は、​**\[Set Payload\]**​ プロパティウィンドウの ​**\[Value (値)\]**​ 項目を示しています。 11. プロジェクトを保存します。 12. Studio の ​**Package Explorer**​ で、​`osv2-demo-studio-6`​ を右クリックし、​**\[Anypoint Platform\]**​ > ​**\[Deploy to Cloud (クラウドにデプロイ)\]**​ を選択します。 13. 確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。 14. Anypoint Platform の ​**\[Deploying Application (アプリケーションのデプロイ)\]**​ ウィンドウで、​**\[Use Object Store v2 (Object Store v2 を使用)\]**​ が選択されていることを確認して ​**\[Deploy Application (アプリケーションをデプロイ)\]**​ をクリックします。 ![\[Deploying Applications (アプリケーションのデプロイ)\] ページの \[Deploy Application (アプリケーションをデプロイ)\] ボタン](_images/os-tutorial-deploy-app.png) Figure 45. 矢印は、​**\[Deploying Applications (アプリケーションのデプロイ)\]**​ ページの ​**\[Deploy Application (アプリケーションをデプロイ)\]**​ ボタンを示しています。 15. **\[Open in Browser (ブラウザーで開く)\]**​ をクリックして、Runtime Manager でアプリケーションを表示します。 CloudHub で権限エラーが表示された場合は、デプロイ先として別の環境を選択してください。 Studio 6 を使用して、オブジェクトストアを持つ Mule 3 アプリケーションを正常に設定しました。 次に、REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、接続をテストします。 ### [](#studio-6-アプリケーションをテストする)Studio 6 アプリケーションをテストする Studio 6 でアプリケーションを作成したら、​`curl`​ コマンドを使用して REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示します。 アプリケーションをテストする手順は、次のとおりです。 1. **\[Runtime Manager\]**​ で ​**\[Applications (アプリケーション)\]**​ をクリックし、​`osv2-demo-studio-6`​ アプリケーションが実行されていることを確認します。 2. `osv2-demo-studio-6`​ アプリケーションの ​**\[Status (状況)\]**​ 列をクリックし、その詳細を右側のペインに表示します。 3. **\[App url (アプリケーション URL)\]**​ の値をコピーします。 ![Runtime Manager の \[App url (アプリケーション URL)\]](_images/os-tutorial-rtm-deploy-url-3.png) Figure 46. 矢印は、Runtime Manager 内の詳細ペインの ​**\[App url (アプリケーション URL)\]**​ を示しています。 4. コマンドラインで次の ​`curl`​ コマンドを実行します。​_APP-URL_​ には、Runtime Manager からコピーした​**アプリケーション URL**​ を指定してください。 ```console $ curl -X POST -H "Content-Type: application/json" -d '{ "key": "myStudio6Key", "value": "OSv2 Test from Studio 6" }' "http://APP-URL/store";echo ``` このコマンドからの出力には、オブジェクトストアに送信したキー-値ペアが表示されます。 ```console KEY: myStudio6Key AND VALUE: OSv2 Test from Studio 6 WERE SAVED ``` このコマンドを送信するたびに、キーの名前を変更して各キーが一意になるようにします。 5. Runtime Manager のアプリケーションの詳細ペインで ​**\[Manage application (アプリケーションを管理)\]**​ をクリックします。 ![詳細ペインでのアプリケーションの管理](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-rtm-manage-app-3.png) Figure 47. 矢印は、Runtime Manager 内の詳細ペインの ​**\[Manage application (アプリケーションを管理)\]**​ を示しています。 6. 左側のナビゲーションペインで ​**\[Object Store (オブジェクトストア)\]**​ をクリックします。 7. オブジェクトストア、パーティション、そしてキーをクリックします。 ![Runtime Manager の \[Object Store (オブジェクトストア)\] タブ、キー、値](_images/os-tutorial-rtm-key-in-os-3.png) Figure 48. このスクリーンショットは、(​**1**​) ​**\[Object Store (オブジェクトストア)\]**​ タブ、(​**2**​) キー、(​**3**​) オブジェクトストアの値を示しています。 8. **\[…​\]**​ アイコンにマウスポインターを置いて、各オブジェクトのアクションを表示します。 ![os tutorial rtm os actions 3](/mulesoft/current/ja-jp/object-store/_images/os-tutorial-rtm-os-actions-3.png) Figure 49. このスクリーンショットは、オブジェクトストアの (​**1**​) ​**メタデータ**​と (​**2**​) ​**\[Delete Value (値を削除)\]**​ アクションを示しています。 - オブジェクトストア、パーティション、キー、または値を削除するには、​**\[…​\]**​ アイコンにマウスポインターを置いて、ごみ箱アイコンをクリックします。 - キーの値と、値に関連付けられているメタデータを表示するには、​**\[…​\]**​ アイコンにマウスポインターを置いて、メタデータ箱アイコンをクリックします。 ## [](#関連情報)関連情報 - [CloudHub へのデプロイ](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub) - [Runtime Manager での異なる環境の使用](https://docs.mulesoft.com/jp/runtime-manager/runtime-manager-switch-env) - [Object Store v2 API](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/object-store-v2/)​。 - [ローリング TTL](https://docs.mulesoft.com/jp/object-store/#rolling-ttl) - [Object Store Connector - Mule 4](https://docs.mulesoft.com/object-store-connector/latest/) - [Object Store Connector Release Notes - Mule 4 (Object Store Connector リリースノート - Mule 4)](https://docs.mulesoft.com/jp/release-notes/connector/object-store-connector-release-notes-mule-4) - [Object Store Connector - Mule 3](#3.9@mule-runtime::object-store-connector.adoc) - [Object Store Connector Release Notes - Mule 3 (Object Store Connector リリースノート - Mule 4)](https://docs.mulesoft.com/jp/release-notes/object-store/objectstore-release-notes) # レート制限および請求 Object Store v2 では、2 つのメトリクスを使用して請求とレート制限を決定します。 API 要求 API 要求は、GET、PUT、POST などの HTTP トランザクションです。 Object Store では、API 要求を使用して、レート制限のトランザクション/秒 (TPS) を計算します。 [レート制限](#レート制限)​を参照してください。 有効な API 要求 有効な API 要求は、請求を計算するために Object Store で使用する単位です。 1 つの API 要求で複数の有効な API 要求が生成される可能性があります。 [請求の計算方法](#請求の計算方法)​を参照してください。 ## [](#レート制限)レート制限 サブスクリプション種別に基づいて、(コネクタまたは API を介した) Object Store v2 への各 API 要求が TPS 制限に含まれます。
サブスクリプション種別 TPS 制限

基本サブスクリプション

アプリケーションごとに 10 TPS

プレミアムアドオンサブスクリプション

アプリケーションごとに 100 TPS

たとえば、アプリケーションがページサイズ 25 でオブジェクトストアから 1,500 個のキーを取得する場合、次のようになります。 - 基本サブスクリプションでは、応答は 6 秒間調整されます。 - プレミアムサブスクリプションでは、応答は調整されません。 サブスクリプション種別に基づいて割り当てられた TPS 数をアプリケーションが超えた場合、Object Store v2 では、レート制限に達したことを示す ​`429 HTTP Error`​ 応答が返されます。 アプリケーションが TPS 制限に達した場合は、プレミアムサブスクリプションにアップグレードするか、API 要求を徐々に送信するようにアプリケーションを再設計することができます。 ## [](#請求の計算方法)請求の計算方法 有効な API 要求は、月次請求使用量とクォータに含まれます。 有効な API 要求は、ペイロードのサイズと返されたキーの数に応じて、​**1 つ以上の単位**​としてクォータに含まれます。 - API 要求ごとに最大 100 KB のオブジェクトペイロードデータ (該当する場合) が 1 単位としてクォータに含まれます。 たとえば、アプリケーションでオブジェクトストアから 1 つのキーを取得し、合計ペイロードサイズが 500KB の場合、その要求は 5 単位としてクォータに含まれます。 - 100KB を超える各 100 KB のペイロードデータは追加の 1 単位とみなされます。 たとえば、アプリケーションでオブジェクトストアから 1 つのキーを取得し、合計ペイロードサイズが 101KB の場合、その操作は 2 単位としてクォータに含まれます。 - `retrieveAll`​ 操作と ​`retrieveAllKeys`​ 操作の両方で、オブジェクトストアパーティション内のすべてのキー-値ペアのサイズが請求可能単位に含まれます。 アプリケーションで ​`retrieveAllKeys`​ 操作を実行してオブジェクトストア内のキーのみを取得する場合、請求可能単位はキーのみでなくキー-値ペアのサイズに基づきます。 次の表は、サブスクリプション種別に基づく月ごとの API 要求の最大数を示しています。

サブスクリプション種別

月ごとの最大 API 要求数

基本サブスクリプション

2,600 万

プレミアムアドオンサブスクリプション

アドオンサブスクリプションごとに 1 億

使用量がライセンスの上限に達しても、Object Store v2 は動作を続行します。 MuleSoft は、アカウント管理者とチームに請求関連の情報を通知します。 ## [](#object-store-の有効な-api-要求使用量チャートへのアクセス)Object Store の有効な API 要求使用量チャートへのアクセス アプリケーションでコンシュームした有効な API 要求数と、サブスクリプションで許可される有効な API 要求数を表示するチャートを表示する手順は、次のとおりです。 1. Anypoint Platform にログインします。 2. 左のナビゲーションバーまたは Anypoint Platform のメインページで ​**\[Access Management (アクセス管理)\]**​ をクリックします。 3. **\[SUBSCRIPTION (サブスクリプション)\]**​ セクションで、​**\[Object Store\]**​ をクリックします。 ![「Access Management (アクセス管理)」 ページの 「Object Store」 オプション](/mulesoft/current/ja-jp/object-store/_images/os-access-mgmt-subscription.png) Figure 1. 矢印は、​**\[Access Management (アクセス管理)\]**​ ページの ​**\[Object Store\]**​ オプションを示しています。 4. チャート期間値として、​**\[6m\]**​ (6 か月、デフォルト)、​**\[1y\]**​ (1 年)、または ​**\[2y\]**​ (2 年) をクリックします。 ![API 要求の 「Object Store Usage (オブジェクトストアの使用量)」 ページ](/mulesoft/current/ja-jp/object-store/_images/os-access-mgmt-usage-chart.png) - (​**1**​) 期間値 - (​**2**​) 月ごとの有効な API 要求の数 - (​**3**​) 使用したクォータの割合と量
使用量が 0 の場合、チャートには ​<1%​ と表示されます。
- (​**4**​) サブスクリプション種別 - `Base 0.0`​ は基本サブスクリプションを示します。 - \[Base (基本)\] の値が ​`0.0`​ より大きい場合、プレミアムアドオンサブスクリプションを示します。 月次請求使用量情報は 24 時間遅延します。 有効な API 要求の使用量がクォータに近づくと、円グラフは赤色になります。 ![Object Store の有効な API 要求制限](/mulesoft/current/ja-jp/object-store/_images/os-access-mgmt-requests-color.png) 場合によっては、バックエンドプロセスでレコードが更新されたときに今月の統計が読み込まれないこともあります。 この場合は、Object Store v2 Stats API の​[組織別の使用状況メトリクス](https://docs.mulesoft.com/jp/object-store/osv2-apis#usage-by-org)​を使用して今月の 1 日あたりの使用量を照会し、1 日あたりの使用量を合計してください。 ## [](#anypoint-mq-stats-api-を使用した使用状況メトリクスの取得)Anypoint MQ Stats API を使用した使用状況メトリクスの取得 Object Store v2 Stats API を使用して使用状況メトリクスを取得するには、以下を参照してください。 - [組織別の使用状況メトリクスの取得](https://docs.mulesoft.com/jp/object-store/osv2-apis#usage-by-org) - [環境別の使用状況メトリクスの取得](https://docs.mulesoft.com/jp/object-store/osv2-apis#usage-by-env) - [リージョン別の使用状況メトリクスの取得](https://docs.mulesoft.com/jp/object-store/osv2-apis#usage-by-region) - [ストア別の使用状況メトリクスの取得](https://docs.mulesoft.com/jp/object-store/osv2-apis#usage-by-store) ## [](#関連情報)関連情報 - [Object Store に関する FAQ](https://docs.mulesoft.com/jp/object-store/osv2-faq) # 接続アプリケーションの設定 接続アプリケーション機能により、ユーザーログイン情報を共有することなく外部アプリケーションにアクセスできるようにすることで、これらのアプリケーションを Anypoint Platform と統合できます。 接続アプリケーションについての詳細は、​[接続アプリケーション](https://docs.mulesoft.com/jp/access-management/connected-apps-overview) and [開発者向けの接続アプリケーション](https://docs.mulesoft.com/jp/access-management/connected-apps-developers)​ を参照してください。 ## [](#configure-os-conn-app)\[Access Management (アクセス管理)\] で接続アプリケーションを設定する オブジェクトストアスコープを使用して接続アプリケーションを作成する手順は、次のとおりです。 1. Anypoint Platform にログインし、​**\[Access Management (アクセス管理)\]**​ を選択します。 2. \[Access Management (アクセス管理)\] ナビゲーションメニューで、​**\[Connected Apps (接続アプリケーション)\]**​ をクリックします。 3. **\[Create App (アプリケーションを作成)\]**​ をクリックします。 1. アプリケーションの名前を指定します。 2. **\[App acts on its own behalf (client credentials) (アプリケーションが自身のために行動する (クライアントログイン情報))\]**​ を選択します。 3. **\[Add Scopes (スコープを追加)\]**​ をクリックします。 4. 適用するオブジェクトストアスコープを選択します。 ![オブジェクトストア接続アプリケーションのスコープ](/mulesoft/current/ja-jp/object-store/_images/os-conn-apps-scopes.png) 5. **\[Next (次へ)\]**​ をクリックして、スコープを適用するビジネスグループと環境を選択します。 6. **\[Review (確認)\]**​ をクリックします。 7. **\[Add scopes (スコープを追加)\]**​ をクリックするか、変更内容をキャンセルするには ​**\[Cancel (キャンセル)\]**​ をクリックします。 4. **\[Save (保存)\]**​ をクリックするか、変更内容をキャンセルするには ​**\[Cancel (キャンセル)\]**​ をクリックします。 5. **\[Connected Apps (接続アプリケーション)\]**​ ページで、今作成したアプリケーションの ​**\[Copy Id (ID をコピー)\]**​ と ​**\[Copy Secret (シークレットをコピー)\]**​ をクリックします。 このクライアント ID とクライアントシークレットを使用して、Object Store v2 API を使用した認証に必要なアクセストークンを取得します。 接続アプリケーションのアクセストークンの取得についての詳細は、​[「OIDC エンドポイントとトークン」](https://docs.mulesoft.com/jp/access-management/connected-apps-developers#oidc-endpoints-and-tokens)​を参照してください。 ## [](#configure-mq-conn-app-api)API を使用した接続アプリケーションの設定 API を使用した接続アプリケーションの設定についての詳細は、 [「How to create connected apps using the API (API を使用した接続アプリケーションの作成方法)」](https://help.mulesoft.com/s/article/How-to-create-connected-apps-creation-using-API)​を参照してください。 ### [](#osv2-scopes)オブジェクトストアスコープ オブジェクトストアスコープは、指定した組織および環境のすべてのストアに適用されます。 特に記載がない限り、これらのスコープはオブジェクトストアと Object Store v2 オブジェクトストアの両方に適用されます。
UI のスコープ API のスコープ 説明

Manage stores (ストアを管理)

manage:store

ストアを作成、参照、更新、削除する。

Manage stores data (ストアデータを管理)

manage:store_data

データ、パーティション、確認 API を含むすべてのストア操作を実行する。

View stores (ストアを表示)

read:store

ストアの詳細を参照する。

Manage store clients (ストアのクライアントを管理)​ (オブジェクトストアのみ)

なし

クラウドストアのすべてのクライアントを管理する。

このスコープは Object Store v2 には適用されません。

View store clients (ストアのクライアントを表示)​ (オブジェクトストアのみ)

なし

クラウドストアのすべてのクライアントを表示する。

このスコープは Object Store v2 には適用されません。

Store Metrics Viewer (ストアメトリクス閲覧者)

read:store_metrics

Object Store v2 Stats API を使用して Object Store v2 メトリクスを取得する。