首页 消息队列RocketMQ版 4.0系列实例文档 API参考指南 API目录 消息 OnsMessageGetByKey - 根据Message Key查询消息

OnsMessageGetByKey - 根据Message Key查询消息

根据 Topic 和 Message Key 模糊查询消息信息列表。

接口说明

注意阿里云提供的OpenAPI属于管控类API,用于管理和查询阿里云服务的相关资源。仅推荐在管控链路集成,消息收发的核心数据链路中严禁依赖OpenAPI实现,否则可能会导致链路产生风险。
  • 使用本接口根据Message Key查询消息的方式属于模糊查询。由于业务方的Key可能不唯一,所以查询结果可能为多条。

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

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

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

调试

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

调试

授权信息

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

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

请求参数

名称 类型 必填 描述 示例值
Topic string

需查询的消息的Topic。

test-mq_topic
Key string

需查询的消息的Message Key。

messageKey1
InstanceId string

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

MQ_INST_111111111111_DOxxxxxx

返回参数

名称 类型 描述 示例值
object

返回结果。

RequestId string

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

A07E3902-B92E-44A6-B6C5-6AA111111****
Data array

查询结果列表。

object
StoreSize integer

消息大小。

406
ReconsumeTimes integer

消息重试消费的次数。

1
StoreTimestamp long

被Broker存储的时间戳。

1570760999811
InstanceId string

实例ID。

MQ_INST_111111111111_DOxxxxxx
MsgId string

消息ID,即Message ID。

1E0578FE110F18B4AAC235C05F2*****
StoreHost string

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

11.193.***.***:10911
Topic string

消息的Topic。

test-mq_topic
PropertyList array

消息属性列表。

object
Value string

消息属性的取值。

TagA
Name string

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

  • TRACE_ON:是否有消息轨迹

-** KEYS**:消息的Key属性

  • TAGS:消息的Tag属性
  • INSTANCE_ID:消息所在的实例的ID

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

TAGS
BornTimestamp long

生成时间戳。

1570760999721
BodyCRC integer

消息体CRC校验值。

914112295
BornHost string

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

42.120.***.***:59270

示例

正常返回示例

JSON格式

{
  "RequestId": "A07E3902-B92E-44A6-B6C5-6AA111111****",
  "Data": {
    "OnsRestMessageDo": [
      {
        "StoreSize": 406,
        "ReconsumeTimes": 1,
        "StoreTimestamp": 1570760999811,
        "InstanceId": "MQ_INST_111111111111_DOxxxxxx",
        "MsgId": "1E0578FE110F18B4AAC235C05F2*****",
        "StoreHost": "11.193.***.***:10911",
        "Topic": "test-mq_topic",
        "PropertyList": {
          "MessageProperty": [
            {
              "Value": "TagA",
              "Name": "TAGS"
            }
          ]
        },
        "BornTimestamp": 1570760999721,
        "BodyCRC": 914112295,
        "BornHost": "42.120.***.***:59270"
      }
    ]
  }
}

错误码

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

控制台操作

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

阿里云首页 消息队列 MQ 相关技术圈