すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:メッセージの照会

最終更新日:Feb 13, 2025

ApsaraMQ for RocketMQでは、メッセージID、メッセージキー、およびトピックでメッセージをクエリできます。 メッセージクエリ機能を使用して、メッセージが送信されたかどうかの確認、メッセージの内容が正しいかどうかの確認、およびメッセージトレースデータの表示を行うことができます。

照会メソッド

次の表に、ApsaraMQ for RocketMQでメッセージのクエリに使用できるメソッドを示します。

照会方法

クエリ条件

クエリタイプ

説明

メッセージID

トピック + メッセージID

完全一致

トピックとメッセージIDを指定して、完全に一致するメッセージを見つけ、対応する属性を取得できます。

メッセージキー

トピック + メッセージキー

ファジーマッチ

トピックとメッセージキーを指定して、トピック内で指定したキーを含む最新の64メッセージを取得できます。

トピック別

トピック + 時間範囲

レンジマッチ

トピック名と時間範囲を指定して、条件を満たすすべてのメッセージを取得できます。 このタイプのクエリは多数のメッセージを返します。このため、クエリするメッセージを見つけるのが難しくなります。

クエリメソッドを選択するための推奨プロセス

次のプロセスに基づいてクエリ方法を選択することを推奨します。

消息查询

手順

  1. ApsaraMQ for RocketMQコンソールにログインします。 左側のナビゲーションウィンドウで、インスタンス数 をクリックします。

  2. 上部のナビゲーションバーで、中国 (杭州) などのリージョンを選択します。 [インスタンス] ページで、管理するインスタンスの名前をクリックします。

  3. 左側のナビゲーションウィンドウで、メッセージ検索 をクリックします。

  4. メッセージ検索 ページで、クエリ方法を選択し、画面の指示に従ってパラメーターを設定します。 続いて、検索 をクリックします。

    • Message ID から検索

      メッセージIDでメッセージを照会する場合、完全一致が使用されます。 メッセージのトピックとIDを指定して、必要なメッセージを取得できます。 メッセージの送信時にメッセージIDをログに印刷することを推奨します。 これは問題のトラブルシューティングに役立ちます。

      次のサンプルコードは、SDK for Javaを使用してメッセージIDを取得する方法の例を示しています。

         SendResult sendResult = producer.send(msg);
         String msgId = sendResult.getMessageId();

      他のプログラミング言語のSDKを使用してメッセージIDを取得する方法については、「概要」をご参照ください。

    • Message Key から検索

      メッセージキーでメッセージをクエリする場合、ApsaraMQ for RocketMQは、指定したメッセージキーに基づいてメッセージのインデックスを作成し、条件を満たすメッセージを返します。

      重要
      • メッセージが送信される前に、照会するメッセージにキーが指定されていることを確認してください。

      • 指定されたキーを含む最新の64メッセージのみが返されます。 したがって、メッセージごとに一意で識別可能なキーを指定することをお勧めします。

      次のサンプルコードは、メッセージキーの指定方法の例を示しています。

          Message msg = new Message("Topic","*","Hello MQ".getBytes());
            /**
           * Specify a key that is used for message query for each message. The key is the primary business attribute of a message. We recommend that you specify a globally unique key for each message. 
           * If a message is not received as expected, you can query the message in the ApsaraMQ for RocketMQ console by using the message key. A message can be sent and received even if you do not specify a key for the message. 
           */
          msg.setKey("TestKey"+System.currentTimeMillis());                                
    • トピックから検索

      メッセージのIDとキーが使用できない場合は、トピックごとにメッセージを照会できます。 トピックとメッセージが送信される時間範囲を指定して、条件を満たすすべてのメッセージを取得できます。 次に、照会するメッセージを取得できます。

      重要
      • このクエリメソッドを使用すると、特定の時間範囲内にトピックで送信されたすべてのメッセージを取得できます。 クエリするメッセージを効率的に見つけるために、時間範囲を絞り込むことをお勧めします。

      • 多数のメッセージが複数のページで返されます。

クエリの結果

クエリ結果で、クエリされた各メッセージのID、タグ、およびキーを表示できます。 メッセージトレースの照会、消費の確認、メッセージのダウンロードもできます。

image

メッセージのダウンロード

クエリ結果で、ダウンロードするメッセージを見つけて、操作 列の image > [メッセージのダウンロード] を選択します。

メッセージ消費の確認

ApsaraMQ for RocketMQは、メッセージ消費検証機能を提供します。 接続されているクライアントにメッセージをプッシュし、メッセージが期待どおりに消費されているかどうかを確認できます。

  1. クエリ結果で、管理するメッセージを見つけて、[操作] 列の [消費確認] をクリックします。

  2. 表示されるパネルで、[グループID] および [クライアントID] パラメーターを設定し、[OK] をクリックします。

image

関連ドキュメント

クエリ結果に基づいて、メッセージのトレース、消費ステータス、消費結果を表示できます。 詳細については、「メッセージトレース」をご参照ください。