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 (オブジェクトストア)] をクリックします。
オブジェクトストア、パーティション、そしてキーをクリックします。
[…] アイコンにマウスポインターを置いて、各オブジェクトのアクションを表示します。
オブジェクトストア、パーティション、キー、または値を削除するには、[…] アイコンにマウスポインターを置いて、ごみ箱アイコンをクリックします。
キーの値と、値に関連付けられているメタデータを表示するには、[…] アイコンにマウスポインターを置いて、メタデータ箱アイコンをクリックします。