Object Store v2 の使用

Anypoint Object Store v2 (Object Store v2) を使用すると、1 つのアプリケーション内で、あらゆる Mule Runtime ワーカーにわたってデータと状態を共有できます。

Anypoint Platform の EU コントロールプレーンと Mule 4 では、Object Store v2 はデフォルトで有効になっています。

Mule 3 では、​[Anypoint Platform] > [Runtime Manager]​ で、Object Store v2 にアクセスするアプリケーションごとに Object Store v2 を有効にします。

コンポーネント

Object Store v2 は、次のコンポーネントとやりとりします。

  • Object Store Connector

    Anypoint Studio で使用して、オブジェクトストアを読み書きするためのフローを作成します。Object Store Connector は、Anypoint Studio 内から Anypoint Exchange を使用してインストールできます。インストール後、Studio で「​objectstore​」を検索します。Object Store Connector は Object Store バージョン 1 と 2 の両方で動作します。Studio を使用してアプリケーションを作成し、Runtime Manager にデプロイします。アプリケーションは、Runtime Manager で実行され、オブジェクトストアに対する読み書き要求を実行します。

    注意:​ データを Object Store v2 に表示するには、Object Store Connector の [Object Store Reference (オブジェクトストア参照)] 項目 (XML の objectStore-ref 要素) が ​_defaultUserObjectStore​ に設定されている必要があります。

  • REST API

    Object Store v2 API を使用すると、オブジェクトの作成と削除、オブジェクトの TTL (存続期間) の設定、使用制限の設定ができます。

  • Runtime Manager

    Object Store v2 を有効にすると、​[Runtime Manager] > [Application Data (アプリケーションデータ)]​ 設定の表示ラベルが ​[Object Store]​ に変わります。[Object Store] インターフェースから、オブジェクトストアのオブジェクトとその値を管理できます。このインターフェースでは、オブジェクトストアのオブジェクトを削除することもできます。

オブジェクトストアデータの保護について

Object Store v2 では、セキュアなトランスポートに TLS を使用します。保管時のデータは、FIPS 140-2 準拠の暗号化標準を使用して保存されます。より高いレベルのセキュリティが必要な場合、機密データは暗号化してからオブジェクトストアに書き出すことをお勧めします。

Object Store Connector をインストールする

  1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。

  2. Anypoint Exchange で [Login (ログイン)] をクリックします。

  3. 「Object Store Connector」を検索し、コネクタのバージョン (Mule 3 または Mule 4) を選択し、[Install (インストール)] をクリックします。

  4. プロンプトに従ってコネクタをインストールします。

アプリケーション で Object Store Connector を使用する

注意:​ 次の情報は Mule 3 にのみ適用されます。

  1. Anypoint Studio で、​[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)]​ をクリックします。

  2. 次のような簡単なフローを作成します。

    構成要素

    パラメータ

    HTTP コネクタ

    緑のプラス記号をクリックします。
    Host (ホスト)​ = ​All interfaces [0.0.0.0] (Default)
    Port (ポート)​ = ​8081
    [OK]​ をクリックします。
    Path (パス)​ = ​/store
    Allowed Methods (許可されるメソッド)​ = ​POST

    Object to String (オブジェクトから文字列)

    設定なし (デフォルトを使用)

    JSON to Object (JSON からオブジェクト)

    Return Class (リターンクラス) = ​java.util.Map

    Object Store Connector

    緑のプラス記号をクリックします。
    [Partition (パーティション)]​ 項目を設定します。
    [Object Store Reference (オブジェクトストア参照)]​ 項目を「​_defaultUserObjectStore​」に設定します。これは、データを Object Store v2 に保存するためには必須です。
    [OK]​ をクリックします。
    Operation (操作)​ = ​Store​ (保存) に設定します。
    Key (キー)​ = ​#[payload.key]
    Value Reference (値の参照)​ = ​#[payload.value]

    Set Payload

    Settings (設定)​ = ​KEY: #[payload.key] AND VALUE: #[payload.value] WERE SAVED OK

    完了すると、フローが表示されます。

    osv2 studio flow
  3. アプリケーションを保存します。アプリケーションをテスト実行して、動作することを確認します。キャンバスを右クリックし、​[Run project <name> (プロジェクト <名前>) を実行]​ をクリックします。アプリケーションが正常に開始したら、停止してかまいません。キャンバスを右クリックし、​[Stop project <name> (プロジェクト <名前>) を停止]​ をクリックします。

  4. Anypoint Studio の Package Explorer でアプリケーションの名前を右クリックし、​[Anypoint Platform] > [Deploy to Cloud (クラウドにデプロイ)]​ をクリックします。

  5. ユーザログインウィンドウで、Anypoint Platform のユーザ名とパスワードを指定し、​[Sign In (サインイン)]​ をクリックします。Anypoint Platform のログイン情報がない場合は、​[Sign Up (サインアップ)]​ をクリックします。

  6. Runtime Manager で、次の手順を実行します。

    • アプリケーションの名前を指定します。名前はそれぞれ一意で、Runtime Manager でアプリケーションが保存される URL になります。URL の形式は ​<application_name>.cloudhub.io​ です。アプリケーション名に、命名方法が適切で一意であることを示す緑のチェックマークが表示されたことを確認します。

    • [Runtime version (ランタイムバージョン)] を Mule 3.8.5 以降か、任意の Mule 4.x バージョンに設定します。

    • [Use Object Store v2 (Object Store v2 を使用)] チェックボックスをオンにします。

  7. アプリケーションを設定したら、[Deploy Application (アプリケーションをデプロイ)] をクリックします。

  8. Runtime Manager から、この選択内容を確認するプロンプトが表示されます。

  9. アプリケーションを開始します。

画面の左側にある Runtime Manager ナビゲーションバーの ​[Application Data (アプリケーションデータ)]​ 表示ラベルが ​[Object Store]​ に変わります。

オブジェクトストアにデータを送信する

コマンドラインプロンプトから、curl コマンドなどを使用して JSON データを Mule アプリケーションに送信します。 必要に応じて、コマンドラインではなく、ブラウザ拡張機能の Postman などのツールを使用できます。 Windows の場合、Postman、curl、または cygwin を使用できます。

たとえば、次のようにします。

curl -X POST -H "Content-Type: application/json" -d '{ "key": "TestKey01", "value": "This is an object store test" }' "http://application_name.cloudhub.io/store"

application_name​ をアプリケーションをデプロイしたときに選択した名前に変更します。このコマンドを送信するたびに、キーの名前を変更して各キーが一意になるようにします。

オブジェクトストアのデータを表示する

オブジェクトストアのデータを表示する手順は、次のとおりです。

  1. Anypoint Platform にログインし、​[Runtime Manager]​ をクリックします。

  2. アプリケーションの名前をクリックしてそのアプリケーションのダッシュボードを表示します。

  3. 左のナビゲーションバーから ​[Object Store]​ をクリックします。

    osv2 in nav bar

    Object Store ユーザインターフェースが次のように表示されます。

    osv2 ui
    • デフォルトのオブジェクトストア名は ​DEFAULT_USER_STORE​ です。

    • 各列に、オブジェクトストア名、パーティション名、キー、キーデータが表示されます。パーティションでオブジェクトストアのキーがグループ化されます。

  4. オブジェクトストア名、パーティション名、およびキーをクリックしてその値を表示します。

  5. キーを削除するには、キー名にカーソルを置き、ゴミ箱アイコンをクリックします。同様に、パーティションやストア自体もその上にマウスポインタを置き、ゴミ箱アイコンをクリックすれば削除できます。

注意:​ Object Store では、存続期間 (TTL) が 30 日間の永続的なオブジェクトストレージが提供されます。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub