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

ApsaraMQ for RocketMQ:メッセージクエリ

最終更新日:Jun 23, 2026

ApsaraMQ for RocketMQ は、メッセージ ID、メッセージキー、トピックによる 3 種類のメッセージクエリメソッドを提供します。メッセージクエリ機能を使用すると、メッセージが正常に送信されたことの確認、内容のチェック、メッセージトレースの表示ができます。

クエリメソッド

デフォルトでは、ApsaraMQ for RocketMQ のメッセージは 3 日間保存されます。つまり、過去 3 日間のメッセージのみをクエリできます。たとえば、現在時刻が 2019 年 6 月 10 日 15:09:48 の場合、トピック内でクエリできる最も古いメッセージは 2019 年 6 月 7 日 15:09:48 に送信されたものです。

次の表に、3 つのクエリメソッドの説明と比較を示します。

クエリメソッド

クエリ条件

一致タイプ

説明

メッセージ ID 別

トピック + メッセージ ID

完全一致

トピックとメッセージ ID に基づいて特定のメッセージを検索し、そのプロパティを取得します。

メッセージキー別

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

あいまい一致

指定されたトピックとメッセージキーに一致する最新のメッセージを最大 64 件検索します。

重要

プロデューサーは各メッセージに一意のキーを割り当てる必要があります。64 件を超えるメッセージが同じキーを共有している場合、一部のメッセージがクエリ結果に返されないことがあります。

トピック別

トピック + 時間範囲

範囲一致

指定された時間範囲内にトピック内のすべてのメッセージを取得します。このメソッドは大量のメッセージを返す可能性があるため、特定のメッセージを見つけるのが困難になる場合があります。

推奨されるクエリプロセス

メッセージをクエリするには、次のプロセスに従うことを推奨します。

消息查询

操作手順

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

  2. 上部のナビゲーションバーで、中国 (杭州) などのリージョンを選択します。

  3. インスタンス数 ページで、ターゲットインスタンスを見つけます。操作 列で 詳細 をクリックし、ドロップダウンリストから メッセージ検索 を選択します。

  4. メッセージ検索 ページで、クエリメソッドを選択し、必要な情報を入力してから 検索 をクリックします。

    • Message ID から検索

      特定のメッセージの完全一致クエリを実行するには、そのトピックとメッセージ ID を入力します。送信成功後にメッセージ ID をログに記録しておくと、トラブルシューティングが簡単になります。

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

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

      他の言語については、「SDK リファレンスの概要」をご参照ください。

    • Message Key から検索

      ApsaraMQ for RocketMQ は、設定したメッセージキーに基づいてメッセージのインデックスを作成します。キーを使用してメッセージを検索すると、ApsaraMQ for RocketMQ はインデックスを使用して一致するメッセージを検索して返します。

      重要
      • このクエリメソッドを使用するには、メッセージの送信時にメッセージキーを設定する必要があります。

      • メッセージキーによるクエリでは、一致する最新の 64 件のメッセージのみが返されます。一意でビジネス上区別できるキーを使用してください。

      次のコードは、メッセージキーを設定する方法を示しています。

              Message msg = new Message("Topic","*","Hello MQ".getBytes());
              /**
               * メッセージ取得のための一意のビジネスキーを設定します。グローバルに一意なキーを推奨します。
               * これにより、メッセージの受信に失敗した場合に ApsaraMQ for RocketMQ コンソールでメッセージをクエリできます。
               * キーを設定しなくてもメッセージの送受信に影響はありませんが、キーベースのクエリは機能しません。
               */
            msg.setKey("TestKey"+System.currentTimeMillis());                                
    • トピックから検索

      このメソッドは、メッセージ ID またはメッセージキーがわからない場合に使用します。トピックと時間範囲を指定して、その期間に送信されたすべてのメッセージを取得します。

      重要

      トピックでメッセージをクエリする場合:

      • この範囲一致では、多数のメッセージが返される可能性があります。結果を制限するために、時間範囲をできるだけ狭めてください。

      • クエリは大量のメッセージを返す可能性があるため、結果はページ分割されます。

クエリ結果

クエリされたメッセージは、コンソールの メッセージ検索 ページで表示できます。結果には、メッセージ ID、タグ、キー、生成時間、保存時間が含まれます。また、「メッセージトレースのクエリ」、消費検証の実行、メッセージのダウンロードも可能です。

消費検証

ApsaraMQ for RocketMQ は、消費検証機能を提供します。この機能を使用すると、特定のメッセージをオンラインのクライアントにプッシュして、その消費ロジックをテストし、結果を検証できます。

重要

消費検証は、クライアントロジックのテストツールにすぎません。通常のメッセージ配信に影響を与えたり、メッセージの消費ステータスを変更したりすることはありません。

消費検証ダイアログボックスで、グループ IDクライアント ID を選択し、[OK] をクリックします。消費検証により、メッセージの再配信が発生する場合があります。

参考

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