使用 OnsMessageGetByKey 通过传入 Topic 名称和 Message Key 进行模糊查询,得到符合条件的消息的信息列表。

使用本接口根据 Message Key 查询消息的方式属于模糊查询。由于业务方的 Key 可能不唯一,所以查询结果可能为多条。

本接口用在业务方无法获取 Message ID 的场景,在该场景下的调用步骤如下所示:

1. 调用本接口模糊查询得到 Message ID 列表。

2. 调用 OnsMessageGetByMsgId 接口精确查询。OnsMessageGetByMsgId 接口的详细信息,请参见 OnsMessageGetByMsgId

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String OnsMessageGetByKey

系统规定参数。取值:OnsMessageGetByKey。

InstanceId String MQ_INST_111111111111_DOxxxxxx

需查询的消息所对应的实例 ID。

Key String messageKey1

需查询的消息的 Message Key。

Topic String test-mq_topic

需查询的消息的 Topic。

返回数据

名称 类型 示例值 描述
Data Array

查询结果。

OnsRestMessageDo
BodyCRC Integer 914112295

消息体 CRC 校验值。

BornHost String 42.120.***.***:59270

生成该消息的客户端实例。

BornTimestamp Long 1570760999721

生成时间戳。

InstanceId String MQ_INST_111111111111_DOxxxxxx

实例 ID。

MsgId String 1E0578FE110F18B4AAC235C05F2*****

消息 ID,即 Message ID。

PropertyList Array

消息属性列表。

MessageProperty
Name String TAGS

消息属性。取值说明如下:

  • TRACE_ON:是否有消息轨迹
  • KEYS:消息的 Key 属性
  • TAGS:消息的 Tag 属性
  • INSTANCE_ID:消息所在的实例的 ID

更多概念信息请参见名词解释

Value String TagA

消息属性的取值。

ReconsumeTimes Integer 1

消息重试消费的次数。

StoreHost String 11.193.***.***:10911

存储该消息的服务器实例。

StoreSize Integer 406

消息大小。

StoreTimestamp Long 1570760999811

被 Broker 存储的时间戳。

Topic String test-mq_topic

消息的 Topic。

RequestId String 5DC2A47E-2B31-4722-96C8-FA59C996F0CA

为公共参数,每个请求的 ID 都是唯一的。

示例

请求示例

http(s)://[Endpoint]/?Action=OnsMessageGetByKey
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&Key=messageKey1
&Topic=test-mq_topic
&<公共请求参数>

正常返回示例

XML 格式

<OnsMessageGetByKeyResponse>
  <Data>
        <MsgId>1E0578FE110F18B4AAC235C05F2*****</MsgId>
        <InstanceId>MQ_INST_111111111111_DOxxxxxx</InstanceId>
        <ReconsumeTimes>1</ReconsumeTimes>
        <BornHost>42.120.**.**:64646</BornHost>
        <BodyCRC>914112295</BodyCRC>
        <StoreHost>11.220.***.***:10911</StoreHost>
        <StoreTimestamp>1570761026708</StoreTimestamp>
        <BornTimestamp>1570761026630</BornTimestamp>
        <Topic>test-mq_topic</Topic>
        <StoreSize>407</StoreSize>
        <PropertyList>
              <MessageProperty>
                    <Name>TAGS</Name>
                    <Value>TagA</Value>
              </MessageProperty>
        </PropertyList>
  </Data>
  <RequestId>A07E3902-B92E-44A6-B6C5-6AA1111111799</RequestId>
</OnsMessageGetByKeyResponse>

JSON 格式

{
  "Data": {
    "MsgId": "1E0578FE110F18B4AAC235C05F2*****",
    "InstanceId": "MQ_INST_111111111111_DOxxxxxx",
    "ReconsumeTimes": 1,
    "BornHost": "42.120.**.**:64646",
    "BodyCRC": 914112295,
    "StoreHost": "11.220.***.***:10911",
    "StoreTimestamp": 1570761026708,
    "BornTimestamp": 1570761026630,
    "Topic": "test-mq_topic",
    "StoreSize": 407,
    "PropertyList": {
      "MessageProperty": [
        {
          "Name": "TAGS",
          "Value": "TagA"
        }
      ]
    }
  },
  "RequestId": "A07E3902-B92E-44A6-B6C5-6AA1111111799"
}

错误码

访问错误中心查看更多错误码。