You need to enable JavaScript to run this app.
导航

QueryMessageByMsgKey

最近更新时间2023.08.24 18:00:00

首次发布时间2023.07.12 16:22:34

调用 QueryMessageByMsgKey 可以查询 Topic 中指定 MessageKey 的消息元数据。

使用说明

此接口用于按消息 Key 查询消息。按消息 Key 查询时,会筛选出包含指定 Key 的消息列表中最近 16 条消息,适用于没有记录消息 ID 但是设置了消息 Key 的场景。

说明

  • 建议消息生产者为每条消息设置具有业务区分度的 Key。Key 尽可能唯一,以确保相同的 Key 的消息数量尽量少,最大不超过 16 条,否则消息查询结果不完整。
  • 如果通过消息 Key 查询,消息的生产者需要在发送消息时设置 Message Key 属性。设置 Message Key 的方法请参考消息查询。其中,消息 Key 应为英文、数字等可见字符,否则查询结果可能不符合预期。

请求参数

参数

参数类型

是否必选

示例值

说明

InstanceId

String

rocketmq-cnai1f0c29ca****

实例 ID。

TopicName

String

my_topic

Topic 名称。

MessageKey

String

0

消息 Key。

响应参数

参数

参数类型

示例值

说明

HasMoreMessage

Bool

true

是否还有更多页的消息。此值为 true 时,您可以再次调用此接口,翻页查询更多消息。

  • true:还有更多页的消息。
  • false:已返回全部消息。

MessageList

Array of BasicMessageInfoObject

/

符合查询条件的消息列表。详细信息请参考 BasicMessageInfoObject

示例

请求示例

POST /?Action=QueryMessageByMsgKey&Version=2023-01-01 HTTP/1.1
Content-Type: application/json
Host: rocketmq.volcengineapi.com
X-Date: 20210328T100802Z
Authorization: HMAC-SHA256 Credential=AK********/20210328/cn-shanghai/rocketmq/request, SignedHeaders=x-date, Signature=********

{
  "InstanceId": "rocketmq-cnai81fd122a****",
  "TopicName": "test",
  "MessageKey": "httpmodule"
}

响应示例

{
    "ResponseMetadata": {
        "RequestId": "202308241551550224694212F450AFFC88",
        "Action": "QueryMessageByMsgKey",
        "Version": "2023-01-01",
        "Service": "RocketMQ",
        "Region": "cn-beijing"
    },
    "Result": {
        "HasMoreMessage": false,
        "MessageList": [
            {
                "Body": "aHR0cG1vZHVsZQo=",
                "CreateTimestamp": 1692863494,
                "IsExist": true,
                "MessageId": "AC1A382700010000000079d9737000c0",
                "MessageKey": "httpmodule",
                "MessageSize": 206,
                "ProducerHost": "172.**.**.**:56274",
                "StoreTimestamp": 1692863494,
                "Tag": "",
                "TopicName": "test"
            }
        ]
    }
}