Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint MQ には、インテリジェントなメッセージルーティングルールを作成してエクスチェンジにパブリッシュされたメッセージのサブセットを特定のキューに転送する機能が含まれています。
メッセージルーティングルールはエクスチェンジに対するバインドで設定します。 メッセージをエクスチェンジにパブリッシュすると、ルールに一致するプロパティまたはヘッダーがメッセージに含まれている場合のみ、メッセージルーティングルールによってメッセージがキューに転送されます。
メッセージルーティングルールが設定されていないバインドでは、引き続きエクスチェンジからすべてのメッセージが受信されます。 |
たとえば、中サイズの品目のすべての注文を処理するキューとプレミアム品目用の別のキューを指定する必要がある場合もあります。
エクスチェンジにパブリッシュされたメッセージを特定のキューに転送する手順は、次のとおりです。
エクスチェンジとキュー間のバインドに対するメッセージルーティングルールを定義します。
エクスチェンジに対するバインドごとに 1 つのメッセージルーティングルールを設定します。
Anypoint MQ では、設定されたメッセージルーティングルールは、パブリッシュされたメッセージのすべての headers
および properties
属性に対して評価されます。
メッセージで properties
と headers
を定義して絞り込み条件を指定します。
次のメッセージを purchases
エクスチェンジにパブリッシュすると、エクスチェンジはルーティングルール設定に基づいて premiumPurchases
キューのみに転送し、sizeMedium
キューには転送しません。
{
"headers" : {
"itemSize" : "large"
},
"body" : "User added an item to the cart"
}
メッセージルーティングルールを作成する手順は、次のとおりです。
Anypoint Platform にログインします。
ナビゲーション領域または Anypoint Platform のメイン画面で [MQ] をクリックします。
[Destinations (宛先)] をクリックし、ルールを設定するエクスチェンジの名前をクリックします。
[Exchange Settings (エクスチェンジ設定)] ページで、[Add Rule (ルールを追加)] をクリックしてバインドされたキューにルールを追加します。
[Create Routing Rule (ルーティングルールを作成)] ページの項目に入力します。
プロパティ名と照合する値を指定します。
プロパティ種別ごとに、マッチャー種別を指定します。
[Add Rule (ルールを追加)] をクリックします。
メッセージルーティングルールを変更する手順は、次のとおりです。
Anypoint Platform にログインします。
ナビゲーション領域または Anypoint Platform のメイン画面で [MQ] をクリックします。
[Destinations (宛先)] をクリックし、ルールを設定するエクスチェンジの名前をクリックします。
[Exchange Settings (エクスチェンジ設定)] ページで、[Edit Rule (ルールを編集)] をクリックしてバインドされたキューでルールを変更します。
[Edit Routing Rule (ルーティングルールを編集)] ページで、ルール設定を変更します。
プロパティ種別とマッチャー種別についての詳細は、「マッチャー種別」を参照してください。
[Save Rule (ルールを保存)] をクリックします。
メッセージルーティングルールを削除する手順は、次のとおりです。
Anypoint Platform にログインします。
ナビゲーション領域または Anypoint Platform のメイン画面で [MQ] をクリックします。
[Destinations (宛先)] をクリックし、ルールを設定するエクスチェンジの名前をクリックします。
[Exchange Settings (エクスチェンジ設定)] ページで [Delete Rule (ルールを削除)] をクリックします。
[Delete Routing Rule (ルーティングルールを削除)] 確認ボックスで、チェックボックスをオンにして [Delete Routing Rule (ルーティングルールを削除)] をクリックし、ルールを削除することを確認します。
Anypoint MQ Admin API を使用したメッセージルーティングルールの管理についての詳細は、「Create or Change Message Routing Rules (メッセージルーティングルールの作成または変更)」を参照してください。
プロパティ種別 | マッチャー種別 | 説明 |
---|---|---|
String (文字列) |
Equals (等しい) |
メッセージプロパティ値がこのルールの値の完全一致である。 |
Prefix (プレフィックス) |
メッセージプロパティ値の先頭がこのルールの値である。 |
|
Any of (次のいずれかである) |
メッセージプロパティ値がこのルールの値のいずれかと一致する。 |
|
None of (次のいずれでもない) |
メッセージプロパティ値がこのルールの値のいずれにも一致しない。 |
|
Exists |
このルールに含まれるプロパティ名に一致する名前のプロパティがメッセージに含まれる。 |
|
Number (数値) |
Equals (等しい) |
メッセージプロパティ値がこのルールの値に等しい。 |
Less than (より小さい) |
メッセージプロパティ値がこのルールの値より小さい。 |
|
Less than or equal (以下) |
メッセージプロパティ値がこのルールの値以下である。 |
|
Greater than (より大きい) |
メッセージプロパティ値がこのルールの値より大きい。 |
|
Greater than or equal (以上) |
メッセージプロパティ値がこのルールの値以上である。 |
|
Range (範囲) |
メッセージプロパティ値がこのルールで指定された値の両端を含む範囲内にある。 |
|
None of (次のいずれでもない) |
メッセージプロパティ値がこのルールの値のいずれにも一致しない。 |
|
Exists |
このルールに含まれるプロパティ名に一致する名前のプロパティがメッセージに含まれる。 |
プロパティ値では、数値ピリオド値の小数点表記としてピリオド (.) 文字 (カンマ (,) 文字ではない) がサポートされます。 数値プロパティ値に基づくルーティングルールを作成し、Anypoint MQ Connector を使用してメッセージをパブリッシュする場合、Anypoint MQ Connector バージョン 3.2.0 以降にアップグレードする必要があります。 これより前のバージョンのコネクタでは、すべてのプロパティ値が文字列として送信されるため、メッセージは数値プロパティに基づくルーティングルールに一致しません。 |
メッセージをエクスチェンジに送信して特定のキューに転送するには、次のいずれかを使用します。
Anypoint MQ の [Message Sender (メッセージ送信者)] ページ:
メッセージの送信時には、次の操作を実行します。
[Add User Properties (ユーザープロパティを追加)] を切り替えます。
送信するプロパティ名と値のペアとして検索条件を指定します。
詳細は、「メッセージエクスチェンジへのメッセージの送信」を参照してください。
Anypoint MQ Broker API:
パブリッシュされたメッセージでルーティングプロパティを表示する手順は、次のとおりです。
エクスチェンジの [Message Sender (メッセージ送信者)] ページで、エクスチェンジにバインドされているキューの [View Messages (メッセージを表示)] をクリックします。
Anypoint MQ に選択したキューの [Message Browser (メッセージブラウザー)] ページが表示されます。
[Get Messages (メッセージを取得)] をクリックします。
メッセージ行をクリックして、ユーザープロパティを含むメッセージペイロードを詳細ペインに表示します。
「キューからのメッセージの取得」を参照してください。
数値プロパティ値に基づくルーティングルールを作成し、Anypoint MQ Connector を使用してメッセージをパブリッシュする場合、Anypoint MQ Connector バージョン 3.2.0 以降にアップグレードする必要があります。 これより前のバージョンのコネクタでは、すべてのプロパティ値が文字列として送信されるため、メッセージは数値プロパティに基づくルーティングルールに一致しません。 |
Anypoint MQ ではメッセージルーティングルールをサポートしていますが、次の制限事項があります。
エクスチェンジのキューのバインドは 10 個以下である必要があります。
メッセージルーティングルールが定義されたエクスチェンジには、最大 10 件のキューをバインドできます。 エクスチェンジに 10 件を超えるキューのバインドがある場合、インテリジェントなメッセージルーティングは使用できません。
メッセージルーティングルールは 1 つのプロパティに対してのみ設定でき、次の制限事項があります。
プロパティ名の最大サイズは 180 バイトです。
プロパティ値の最大サイズは 45 KB です。
ルーティングルールのプロパティ値には空白、英数字 (a-z、A-Z、0-9)、句読点 (@ ! & | # $ % - _ : ; , . ') 文字を含めることができます。
Anypoint MQ では、次の条件を満たす場合のみルーティングルールに対してメッセージを評価します。
ヘッダーとプロパティの合計数が 500 個未満である。
この合計には、Anypoint MQ が作成する messageId
や createdTimestamp
などの操作ヘッダーが含まれます。
ヘッダーとプロパティの最大合計サイズが 215 KB である。
メッセージがこれらの条件を満たさない場合、Anypoint MQ ではメッセージルーティングルールに対してメッセージを評価するときにヘッダーとプロパティを無視します。
Anypoint MQ ではペイロードでヘッダーとプロパティが保持され、メッセージをエクスチェンジにパブリッシュするときに、ヘッダーとプロパティを比較に使用できます。