调用OnsMessageGetByMsgId通过传入Message ID查询指定消息的信息以及判断该指定的消息是否曾被消费过。

使用说明

  • 如遇消息消费有问题,则可通过该接口查询具体发送的消息内容来排查问题。
  • 根据Message ID查询消息的方式属于精确查询,查询条件需要的Message ID从每次消息发送成功的SendResult中获取,因此业务方必须存储每次发送消息的结果。查询到的信息包括发送时间、存储服务器和消息的Key和Tag等属性。

QPS限制

本接口的单用户QPS限制为10次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制

授权信息

默认仅限阿里云账号使用本接口,RAM用户只有在被授予了相关API操作权限后方可使用。本接口的授权信息如下表所示。更多信息,请参见权限策略和示例

API

Action

Resource(有命名空间)

Resource(无命名空间)

OnsMessageGetByMsgId

mq:QueryInstanceBaseInfo

mq:QueryMessage

acs:mq:*:*:{instanceId}%{topic}

acs:mq:*:*:{topic}

请求参数

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

系统规定参数。取值:OnsMessageGetByMsgId

MsgId String 1E0578FE110F18B4AAC235C05F2*****

需查询的消息的ID,即Message ID。

Topic String test-mq_topic

需查询的消息的Topic。

InstanceId String MQ_INST_111111111111_DOxxxxxx

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

说明 更多参数说明请参见公共参数调用方式

返回数据

名称 类型 示例值 描述
RequestId String A07E3902-B92E-44A6-B6C5-6AA111111****

公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。

Data Object

查询结果。

StoreSize Integer 407

消息大小。

ReconsumeTimes Integer 1

消息重试消费的次数。

StoreTimestamp Long 1570761026708

被服务端存储的时间戳。

InstanceId String MQ_INST_111111111111_DOxxxxxx

实例ID。

MsgId String 1E0578FE110F18B4AAC235C0C8460BA2

消息ID,即Message ID。

StoreHost String 11.220.***.***:10911

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

Topic String test-mq_topic

消息的Topic。

PropertyList Array of MessageProperty

消息属性列表。

MessageProperty
Value String TagA

消息属性的值。

Name String TAGS

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

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

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

BornTimestamp Long 1570761026630

生成时间戳。

BodyCRC Integer 914112295

消息体CRC校验值。

BornHost String 42.120.**.**:64646

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

示例

请求示例

http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsMessageGetByMsgId
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&MsgId=1E0578FE110F18B4AAC235C05F2*****
&Topic=test-mq_topic
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<OnsMessageGetByMsgIdResponse>
<Data>
    <MsgId>1E0578FE110F18B4AAC235C0C8460BA2</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-6AA111111****</RequestId>
</OnsMessageGetByMsgIdResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Data" : {
    "MsgId" : "1E0578FE110F18B4AAC235C0C8460BA2",
    "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-6AA111111****"
}

错误码

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

控制台操作

除了调用OnsMessageGetByMsgId接口,您还可以通过消息队列RocketMQ版控制台查看消息的详细信息。具体操作,请参见消息查询