全部产品
Search
文档中心

云消息队列 RocketMQ 版:OnsMessageGetByMsgId - 通过MsgId查询消息

更新时间:Mar 03, 2024

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

接口说明

注意 阿里云提供的 OpenAPI 属于管控类 API,用于管理和查询阿里云服务的相关资源。仅推荐在管控链路集成,消息收发的核心数据链路中严禁依赖 OpenAPI 实现,否则可能会导致链路产生风险。

  • 如遇消息消费有问题,则可通过该接口查询具体发送的消息内容来排查问题。

  • 根据 Message ID 查询消息的方式属于精确查询,查询条件需要的 Message ID 从每次消息发送成功的 SendResult 中获取,因此业务方必须存储每次发送消息的结果。查询到的信息包括发送时间、存储服务器和消息的 Key 和 Tag 等属性。

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
mq:QueryMessageRead
  • 全部资源
    *

请求参数

名称类型必填描述示例值
MsgIdstring

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

1E0578FE110F18B4AAC235C05F2*****
Topicstring

需查询的消息的 Topic。

test-mq_topic
InstanceIdstring

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

MQ_INST_111111111111_DOxxxxxx

返回参数

名称类型描述示例值
object
RequestIdstring

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

A07E3902-B92E-44A6-B6C5-6AA111111****
Dataobject

查询结果。

StoreSizeinteger

消息大小。

407
ReconsumeTimesinteger

消息重试消费的次数。

1
StoreTimestamplong

被服务端存储的时间戳。

1570761026708
InstanceIdstring

实例 ID。

MQ_INST_111111111111_DOxxxxxx
MsgIdstring

消息 ID,即 Message ID。

1E0578FE110F18B4AAC235C0C8460BA2
StoreHoststring

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

11.220.***.***:10911
Topicstring

消息的 Topic。

test-mq_topic
PropertyListobject []

消息属性列表。

Valuestring

消息属性的值。

TagA
Namestring

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

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

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

TAGS
BornTimestamplong

生成时间戳。

1570761026630
BodyCRCinteger

消息体 CRC 校验值。

914112295
BornHoststring

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

42.120.**.**:64646

示例

正常返回示例

JSON格式

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

错误码

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

变更历史

变更时间变更内容概要操作
暂无变更历史

控制台操作

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