Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこのチュートリアルを使用して、Object Store v2 によるデータの保存と表示を開始します。
シリアル化可能なデータはすべてキー-値ペアとしてオブジェクトストアに送信できます。
このチュートリアルでは、Design Center と Anypoint Studio で 1 つずつ、合計 2 つのアプリケーションを作成します。
アプリケーションで、オブジェクトストア用 Anypoint Connector (Object Store Connector) を設定します。
オブジェクトストアにデータを送信します。
Runtime Manager でデータを表示します。
使用する Mule バージョンに応じて Studio 7 (Mule 4) または Studio 6 (Mule 3) にアプリケーションを作成します。
Anypoint Studio、Anypoint Platform、Runtime Manager の知識を持っていること。
Anypoint Platform のログイン情報がない場合は、Anypoint Platform のサインインページで [Sign Up (サインアップ)] をクリックしてください。
Anypoint Platform の [Access Management (アクセス管理)] > [Environments (環境)] 環境で設定済みの [Design (設計)] 環境。
[Access Management (アクセス管理)] が表示されない場合は、サイト管理者にお問い合わせください。
システムにインストール済みの Anypoint Studio:
Studio 7
「Anypoint Studio のダウンロードおよびインストール」を参照してください。
Studio 6
「Anypoint Studio のダウンロードおよびインストール」を参照してください。
テスト用の curl
コマンド
このチュートリアルでは、[HTTP Listener (HTTP リスナー)] トリガーを使用して Object Store Connector へのアクセスを開始し、curl
コマンドを使用して JSON データを Mule アプリケーションに送信します。
curl
の代わりに Postman などのブラウザープラグインを使用することもできます。
Design Center を使用する前に、ブラウザーで LastPass や Okta などのパスワードプログラムを無効にします。 有効になっている場合、パスワードプログラムが Design Center の項目にパスワードを挿入するため、アプリケーションが失敗する可能性があります。
Design Center を使用して、[HTTP Listener (HTTP リスナー)] トリガーと Object Store Connector を含むアプリケーションを設定します。
その後、curl
コマンドを使用してキーと値を送信し、Runtime Manager でキーを表示できます。
Design Center でアプリケーションを設定する手順は、次のとおりです。
Anypoint Platform の左側のナビゲーションバーまたはメイン画面で [Design Center] をクリックします。
[Create new (新規作成)] > [Create new application (新規アプリケーションの作成)] をクリックします。
[New Mule Application (新規 Mule アプリケーション)] ウィンドウで、プロジェクト名に osv2demo
と入力し、[Create (作成)] をクリックします。
ウィザードで、[Go straight to canvas (キャンバスに直接移動)] をクリックします。
[Trigger (トリガー)] をクリックし、H
と入力して「HTTP Listener」 (HTTP リスナー) を検索します。
[HTTP Listener (HTTP リスナー)] を開きます。
[HTTP Listener (HTTP リスナー)] ウィンドウで、[Path (パス)] の値を /store
に設定し、[Close (閉じる)] ボタン (X) をクリックします。
[HTTP Listener (HTTP リスナー)] のデフォルト設定は適切であるため、[Edit (編集)] をクリックする必要はありません。
[HTTP Listener (HTTP リスナー)] トリガーの右にあるプラスアイコン (+) をクリックします。
[Select a component (コンポーネントを選択)] ウィンドウで、ob
と入力し、[ObjectStore Connector] を検索します。
コネクタをクリックしてから Store 操作をクリックします。
[Configuration (設定)] タブの [Key (キー)] 項目で #[payload.key]
を指定し、[Value (値)] 項目で payload.value
を指定します。
キーの最大サイズは 1024 バイトです (UTF-8 エンコード)。
Object Store v2 では、キーでのパイプ (|
) 文字の使用はサポートされていません。
[Test (テスト)] をクリックして、一時的な場所でアプリケーションを実行します。
アプリケーションが一時的な環境で実行を開始します。
osv2demo
アプリケーションが一時的な環境で実行されていることを示すメッセージを示しています。Design Center を使用して、オブジェクトストアを持つアプリケーションを正常に設定し、一時的な環境にデプロイしました。
次に、REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、接続をテストします。
Design Center でアプリケーションを作成したら、curl
コマンドを使用して REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、アプリケーションをテストします。
アプリケーションをテストする手順は、次のとおりです。
コピーアイコンをクリックして、デプロイメント URL をコピーします。
コマンドラインで curl
コマンドを実行して、キー-値ペアをオブジェクトストアに送信します。DEPLOYMENT-URL には、Design Center からコピーしたデプロイメント URL を指定してください。
curl -X POST \
"http://DEPLOYMENT-URL/store"
-H "Content-Type: application/json"
-d '{ "key": "myKey", "value": "OSv2 Test" }'
このコマンドの出力は次のようになります。
{ "key": "myKey", "value": "OSv2 Test" }
右上隅の […] メニューから [View in Runtime Manager (Runtime Manager で表示)] を選択します。
Runtime Manager の左側のナビゲーションペインで [Object Store (オブジェクトストア)] をクリックします。
オブジェクトストア、パーティション、そしてキーをクリックします。
curl
から送信した myKey
キーが [binary value] BINARY
の値でオブジェクトストアに表示されているのがわかります。
curl
から送信した myKey
キーが [binary value] BINARY
の値でオブジェクトストアに表示されています。
この値はバイナリです。これは、Mule 4 では値を Mule オブジェクトでラップして、Anypoint Platform で値がバイナリでのみ表示されるようにするためです。
curl
コマンドを使用してキー-値ペアをオブジェクトストアに格納し、Runtime Manager で結果を表示しました。
値が正しいことを検証するには、Design Center に戻り、値を取得するための新しいフローを追加します。
'myKey` の値を取得するための新しいフローを作成する方法:
Design Center の左側にある [Project (プロジェクト)] 領域で [Flows (フロー)] メニューを展開します。
3 つのドットのメニューから [Rename (名前変更)] を選択し、既存のフロー名を New Flow
から Store
に変更します。
[Flows (フロー)] の右にあるプラス記号をクリックします。
ウィザードで、[Go straight to canvas (キャンバスに直接移動)] をクリックします。
[Trigger (トリガー)] ボックスをクリックし、H
と入力して「HTTP Listener」 (HTTP リスナー) を検索します。
[HTTP Listener (HTTP リスナー)] を開きます。
[HTTP Listener (HTTP リスナー)] ウィンドウで、[Path (パス)] の値を /retrieve
に設定し、[Close (閉じる)] ボタン (X) をクリックします。
[HTTP Listener (HTTP リスナー)] のデフォルト設定は適切であるため、[Edit (編集)] をクリックする必要はありません。
この新しいフローの名前を Retrieve
に変更します。
[HTTP Listener (HTTP リスナー)] トリガーの右にあるプラスアイコン (+) をクリックして Object Store Connector を追加します。
[Select a component (コンポーネントを選択)] ウィンドウで、ob
と入力し、[ObjectStore Connector] を検索します。
コネクタをクリックしてから Retrieve 操作をクリックします。
[Configuration (設定)] タブの [Key (キー)] 項目で #[attributes.queryParams.key]
を指定します。
[Test (テスト)] をクリックして、一時的な場所でアプリケーションを実行します。
コピーアイコンをクリックして、デプロイメント URL をコピーします。
コマンドラインで次の curl
コマンドを実行してキーを取得します。DEPLOYMENT-URL には、Design Center からコピーしたデプロイメント URL を指定してください。
curl http://DEPLOYMENT-URL/retrieve?key=myKey;echo
このコマンドの出力では、myKey
の値が表示されます。
"OSv2 Test"
curl
コマンドで REST API コマンドを Object Store API に送信して結果を取得することで、アプリケーションを正常にテストしました。
次に、Anypoint Studio 7 で Mule アプリケーションを作成してオブジェクトストアを追加します。
Anypoint Studio 7 を使用して、Design Center で作成したアプリケーションと同様の Mule 4 アプリケーションを作成できるようになりました。
まず、Studio 7 を使用して、[HTTP Listener (HTTP リスナー)] トリガーと Object Store Connector を含むアプリケーションを設定します。
その後、アプリケーションを CloudHub にデプロイし、curl
コマンドを使用してキーと値を送信し、Runtime Manager でキーを表示します。
Studio 7 で Mule 4 アプリケーションを設定する手順は、次のとおりです。
Studio を開始し、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックし、プロジェクトに osv2-demo
という名前を付けて、[Finish (完了)] をクリックします。
Object Store Connector をインストールします。
ツールバーの [Exchange (エクスチェンジ)] アイコンをクリックします。
パスワードの入力を促されたら、Anypoint Platform のユーザー名とパスワードを入力します。
Exchange で、[Provided by MuleSoft (MuleSoft による提供)] を選択し、[ObjectStore Connector] を検索します。
[ObjectStore Connector - Mule 4] を選択します。
[Add to project (プロジェクトに追加)] をクリックします。
確認ダイアログで [Proceed (続行)] をクリックし、[OK] をクリックします。
[Mule Palette (Mule パレット)] ビューで [HTTP] をクリックし、[Listener] を Studio キャンバスにドラッグします。
[ObjectStore] をクリックして [Store] をキャンバスの [Listener] の右側までドラッグします。
キャンバスで [Listener] をクリックします。
[Listener] プロパティウィンドウで、[General (一般)] > [Path (パス)] を /store
に設定します。
[Connector configuration (コネクタ設定)] 項目の右にある緑のプラスアイコン (+) をクリックします。
HTTP リスナーの [Global Element Properties (グローバル要素のプロパティ)] ウィンドウで、[Host (ホスト)] が 0.0.0.0
に設定され、[Port (ポート)] が 8081
に設定されていることを確認し、[OK] をクリックします。
[Listener] プロパティウィンドウに、エラーがないことが示されます。
キャンバスで Store 操作をクリックします。
[Store] プロパティウィンドウの [Key (キー)] 項目で #[payload.key]
を指定し、[Value (値)] 項目で payload.value
を指定します。
キーの最大文字数は 256 です。
Object Store v2 では、キーでのパイプ (|
) 文字の使用はサポートされていません。
フローを選択し、プロパティウィンドウで名前を Store
に変更します。
[Mule Palette (Mule パレット)] ビューで [HTTP] をクリックし、別の [Listener] をキャンバスの最初のフローの下までドラッグします。
[ObjectStore] をクリックして [Retrieve] を 2 番目のフローの [Listener] の右側までドラッグします。
キャンバスで [Listener] をクリックします。
[Listener] プロパティウィンドウで、[General (一般)] > [Path (パス)] を /retrieve
に設定します。
[Connector configuration (コネクタ設定)] メニューで、Store フローの Listener 操作に対してセットアップしたのと同じ HTTP_Listener_config オプションを選択します。
キャンバスで Retrieve 操作をクリックします。
[Retrieve] プロパティウィンドウの [Key (キー)] 項目に #[attributes.queryParams.key]
と指定します。
2 番目のフローを選択し、プロパティウィンドウで名前を Retrieve
に変更します。
完了すると、フローは次のようになります。
Studio の Package Explorer で、osv2-demo
を右クリックし、[Anypoint Platform] > [Deploy to CloudHub (CloudHub にデプロイ)] を選択します。
確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。
Anypoint Platform の [Deploying Application (アプリケーションのデプロイ)] ウィンドウで [Deploy Application (アプリケーションをデプロイ)] をクリックします。
[Open in Browser (ブラウザーで開く)] をクリックして、Runtime Manager でアプリケーションを表示します。
CloudHub で権限エラーが表示された場合は、デプロイ先として別の環境を選択してください。
Studio 7 を使用して、オブジェクトストアを持つアプリケーションを正常に設定しました。 次に、REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、接続をテストします。
Studio 7 でアプリケーションを作成したら、curl
コマンドを使用して REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示します。
アプリケーションをテストする手順は、次のとおりです。
[Runtime Manager] で [Applications (アプリケーション)] をクリックし、osv2-demo
アプリケーションが実行されていることを確認します。
osv2-demo
アプリケーションの [Status (状況)] 列をクリックし、その詳細を右側のペインに表示します。
[App url (アプリケーション URL)] の値をコピーします。
コマンドラインで次の curl
コマンドを実行します。APP-URL には、Runtime Manager からコピーしたアプリケーション URL を指定してください。
$ curl -X POST -H "Content-Type: application/json" -d '{ "key": "myKey", "value": "OSv2 Test" }' "http://APP-URL/store";echo
このコマンドからの出力には、オブジェクトストアに送信したキー-値ペアが表示されます。
{ "key": "myKey", "value": "OSv2 Test" }
Runtime Manager のアプリケーションの詳細ペインで [Manage application (アプリケーションを管理)] をクリックします。
左側のナビゲーションペインで [Object Store (オブジェクトストア)] をクリックします。
オブジェクトストア、パーティション、そしてキーをクリックします。
curl
から送信した myKey
キーが [binary value] BINARY
の値でオブジェクトストアに表示されています。
この値はバイナリです。これは、Mule 4 では値を Mule オブジェクトでラップして、Anypoint Platform で値がバイナリでのみ表示されるようにするためです。
コマンドラインで次の curl
コマンドを実行してキーの値を表示します。APP-URL には、Runtime Manager からコピーしたアプリケーション URL を指定してください。
curl http://APP-URL/retrieve?key=myKey;echo
このコマンドの出力では、キーの値が表示されます。
"OSv2 Test"
curl
コマンドを使用してキー-値ペアをオブジェクトストアに格納し、キー-値ペアを取得して、Runtime Manager で結果を表示しました。
Studio 7 で XML を使用して osv2-demo
アプリケーションを作成するには、Studio で [Configuration XML (設定 XML)] タブをクリックし、XML を以下と比較して、必要に応じて修正を行います。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:os="http://www.mulesoft.org/schema/mule/os" xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/os http://www.mulesoft.org/schema/mule/os/current/mule-os.xsd">
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="24b76402-e396-4228-a48e-fcd9ac651488" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<flow name="Store" doc:id="e7d253f9-534b-41df-a189-de815a42facb" >
<http:listener doc:name="Listener" doc:id="805c84ec-35d4-4753-846b-49b108044df7" config-ref="HTTP_Listener_config" path="/store"/>
<os:store doc:name="Store" doc:id="d4800501-0fa8-4472-a23e-5213f04155e8" key="#[payload.key]">
<os:value ><![CDATA[#[payload.value]]]></os:value>
</os:store>
</flow>
<flow name="Retrieve" doc:id="1db04ffc-76c1-48b4-ba33-57807a6404a8" >
<http:listener doc:name="Listener" doc:id="faed2a0f-3005-4244-a6c6-77407b34d53a" path="/retrieve" config-ref="HTTP_Listener_config"/>
<os:retrieve doc:name="Retrieve" doc:id="3f907cfc-59e5-49cd-879a-7b2675d488a5" key="#[attributes.queryParams.key]">
</os:retrieve>
</flow>
</mule>
Anypoint Studio 6 を使用して、Design Center で作成したアプリケーションと同様の Mule 3 アプリケーションを作成できます。
まず、Studio を使用して、Object Store Connector を含むアプリケーションを設定します。
その後、アプリケーションを CloudHub にデプロイし、curl
コマンドを使用してキーと値を送信し、Runtime Manager でキーを表示します。
Studio 6 で Mule 3 アプリケーションを設定する手順は、次のとおりです。
Studio を開始し、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックし、プロジェクトに osv2-demo-studio-6
という名前を付けて、[Finish (完了)] をクリックします。
Object Store Connector をインストールします。
ツールバーの [Exchange (エクスチェンジ)] アイコンをクリックします。
パスワードの入力を促されたら、Anypoint Platform のユーザー名とパスワードを入力します。
Exchange で、[Provided by MuleSoft (MuleSoft による提供)] を選択し、[ObjectStore Connector] を検索します。
[Object Store Connector - Mule 3] を選択します。
[Install (インストール)] をクリックします。
確認ダイアログで、インストールするアイテムを確認し、[Next (次へ)] を 2 回クリックします。
ライセンス契約に同意して [Finish (完了)] をクリックします。
確認ダイアログで、[Restart Now (今すぐ再起動)] をクリックし、コネクタのインストールを終了します。
[Mule Palette (Mule パレット)] ビューで以下の操作を行います。
[HTTP] を Studio キャンバスにドラッグします。
string
を検索し、[Object to String] をキャンバスの [HTTP] の右側の [Process (プロセス)] 領域にドラッグします。
json
を検索し [JSON to Object] をキャンバスの [Object to String] の右側にドラッグします。
objects
を検索し、[ObjectStore] をキャンバスの [JSON to Object] の右側にドラッグします。
payload
を検索し [Set Payload] をキャンバスの [ObjectStore] の右側にドラッグします。
フローは次のようになります。
キャンバスで [HTTP] をクリックします。
[HTTP] プロパティウィンドウで以下を行います。
[Path (パス)] を /store
に設定し、[Allowed Methods (許可されるメソッド)] を POST
に設定します。
curl コマンドを送信するとき、URL で /store
オプションを使用します。
この [Allowed Methods (許可されるメソッド)] の設定により、curl
コマンドはオブジェクトストアへの情報の投稿 (POST) のみが行えます。
[Connector Configuration (コネクタ設定)] の右にある緑のプラスアイコン (+) をクリックします。
HTTP Connector の [Global Element Properties (グローバル要素のプロパティ)] ウィンドウで、[Host (ホスト)] が 0.0.0.0
に設定され、[Port (ポート)] が 8081
に設定されていることを確認し、[OK] をクリックします。
これで、[HTTP] プロパティウィンドウは、エラーがないことを示します。
キャンバスで [JSON to Object] をクリックし、[Return Class (リターンクラス)] を java.util.Map
に設定します。
キャンバスで [ObjectStore] をクリックします。
[ObjectStore] プロパティウィンドウで以下を行います。
[Operation (操作)] を Store
に設定し、次のように Store 操作値を設定します。
[Key (キー)] を #[payload.key]
に設定します。
キーの最大文字数は 256 です。
Object Store v2 では、キーでのパイプ (|
) 文字の使用はサポートされていません。
[Value Reference (値参照)] を #[payload.value]
に設定します。
[Connector Configuration (コネクタ設定)] の右にある緑のプラスアイコン (+) をクリックします。
ObjectStore Connector の [Global Element Properties (グローバル要素のプロパティ)] ウィンドウで、[Partition (パーティション)] を myPartition
に設定し、[Object Store Reference (オブジェクトストア参照)] を _defaultUserObjectStore
に設定してから、[OK] をクリックします。
データを Object Store v2 に保存するには、次のように [Object Store Reference (オブジェクトストア参照)] 項目を「_defaultUserObjectStore 」に設定する必要があります。
|
これで、[ObjectStore] プロパティウィンドウは、エラーがないことを示します。
キャンバスで [Set Payload] をクリックします。
[Set Payload] プロパティウィンドウで、[Value (値)] 項目を次のように設定します。
KEY: #[payload.key] AND VALUE: #[payload.value] WERE SAVED
コマンドラインに表示されるこのメッセージは、curl
コマンド値がアプリケーションに受信されたことを示します。
プロジェクトを保存します。
Studio の Package Explorer で、osv2-demo-studio-6
を右クリックし、[Anypoint Platform] > [Deploy to Cloud (クラウドにデプロイ)] を選択します。
確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。
Anypoint Platform の [Deploying Application (アプリケーションのデプロイ)] ウィンドウで、[Use Object Store v2 (Object Store v2 を使用)] が選択されていることを確認して [Deploy Application (アプリケーションをデプロイ)] をクリックします。
[Open in Browser (ブラウザーで開く)] をクリックして、Runtime Manager でアプリケーションを表示します。
CloudHub で権限エラーが表示された場合は、デプロイ先として別の環境を選択してください。
Studio 6 を使用して、オブジェクトストアを持つ Mule 3 アプリケーションを正常に設定しました。 次に、REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示することで、接続をテストします。
Studio 6 でアプリケーションを作成したら、curl
コマンドを使用して REST API コマンドを Object Store API に送信し、Runtime Manager を使用して結果を表示します。
アプリケーションをテストする手順は、次のとおりです。
[Runtime Manager] で [Applications (アプリケーション)] をクリックし、osv2-demo-studio-6
アプリケーションが実行されていることを確認します。
osv2-demo-studio-6
アプリケーションの [Status (状況)] 列をクリックし、その詳細を右側のペインに表示します。
[App url (アプリケーション URL)] の値をコピーします。
コマンドラインで次の curl
コマンドを実行します。APP-URL には、Runtime Manager からコピーしたアプリケーション URL を指定してください。
$ curl -X POST -H "Content-Type: application/json" -d '{ "key": "myStudio6Key", "value": "OSv2 Test from Studio 6" }' "http://APP-URL/store";echo
このコマンドからの出力には、オブジェクトストアに送信したキー-値ペアが表示されます。
KEY: myStudio6Key AND VALUE: OSv2 Test from Studio 6 WERE SAVED
このコマンドを送信するたびに、キーの名前を変更して各キーが一意になるようにします。
Runtime Manager のアプリケーションの詳細ペインで [Manage application (アプリケーションを管理)] をクリックします。
左側のナビゲーションペインで [Object Store (オブジェクトストア)] をクリックします。
オブジェクトストア、パーティション、そしてキーをクリックします。
[…] アイコンにマウスポインターを置いて、各オブジェクトのアクションを表示します。
オブジェクトストア、パーティション、キー、または値を削除するには、[…] アイコンにマウスポインターを置いて、ごみ箱アイコンをクリックします。
キーの値と、値に関連付けられているメタデータを表示するには、[…] アイコンにマウスポインターを置いて、メタデータ箱アイコンをクリックします。