OnsMessagePageQueryByTopic - 查询Topic内所有消息

分页查询指定时间段内指定Topic内存在的所有消息。

接口说明

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

  • 按 Topic 查询消息的方式属于范围查询,查询结果会通过分页的方式展示给调用方,仅适用于没有任何搜索条件(Message ID 和 Message Key)的查询场景。

  • 根据 Topic 查询消息应尽可能缩短查询的时间区间,否则匹配的消息过多,将无法定位问题。调用流程如下所示:

    1. 传入 Topic、起止时间以及每页的消息数量,进行分页查询。如果有消息,默认返回第一页的消息、总页数和查询任务 ID。
    2. 根据返回的结果中的查询任务 ID,进行后续取消息,取消息时传入查询任务 ID 以及当前页数。此时输入的起止时间和每页消息数量不生效,默认以第一次查询时输入的参数值为准。

调试

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

授权信息

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

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

请求参数

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

需查询的消息的 Topic 名称。

test-mq_topic
BeginTimelong

查询范围的起始时间戳,单位:毫秒。 通过 TaskId 进行后续取消息时,该参数设置的值不生效,默认以第一次查询时输入的起始时间为准。

1570723200000
EndTimelong

查询范围的终止时间戳,单位:毫秒。 通过 TaskId 进行后续取消息时,该参数设置的值不生效,默认以第一次查询时输入的终止时间为准。

1570809600000
TaskIdstring

查询任务的 ID,首次查询不需要输入,后续取消息必须传入,根据前一次的返回结果取出该字段。

0BC1310300002A9F000021E4D7A48346
CurrentPageinteger

当前取第几页消息,从 1 开始递增,最大值为 50,取消息时不可超过最大页数。

2
PageSizeinteger

分页查询,每页最多显示的消息数量,默认是 20,最小 5 条,最多 50 条。 通过 TaskId 进行后续取消息时,该参数设置的值不生效,默认以第一次查询时输入的每页消息数量为准。

5
InstanceIdstring

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

MQ_INST_111111111111_DOxxxxxx

返回参数

名称类型描述示例值
object

查询结果。

RequestIdstring

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

5DC2A47E-2B31-4722-96C8-FA59C9*****
MsgFoundDoobject

查询结果。

CurrentPagelong

当前位于第几页。

1
MsgFoundListarray<object>

当前页的消息集合,该类型与 OnsMessageGetByMsgId 的返回结果一致。

OnsRestMessageDoobject
StoreSizeinteger

消息大小。单位:KB。

406
ReconsumeTimesinteger

消息重试消费的次数。

1
StoreTimestamplong

消息被服务端存储的时间戳,单位:毫秒。

1570760999811
InstanceIdstring

实例 ID。

MQ_INST_111111111111_DOxxxxxx
MsgIdstring

消息 ID,即 Message ID。

1E0578FE110F18B4AAC235C05F2*****
StoreHoststring

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

11.193.***.***:10911
Topicstring

消息的 Topic。

test-mq_topic
PropertyListarray<object>

消息属性列表。

MessagePropertyobject
Valuestring

消息属性的取值。

TagA
Namestring

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

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

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

TAGS
BornTimestamplong

消息生成的时间戳,单位:毫秒。

1570760999721
BodyCRCinteger

消息体 CRC 校验值。

914112295
BornHoststring

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

42.120.***.***:59270
MaxPageCountlong

查询结果最大页数。

400
TaskIdstring

第一次新建查询时,返回的查询任务 ID,用于后续取消息。

0BC1310300002A9F000021E4D7A48346

示例

正常返回示例

JSON格式

{
  "RequestId": "5DC2A47E-2B31-4722-96C8-FA59C9*****",
  "MsgFoundDo": {
    "CurrentPage": 1,
    "MsgFoundList": {
      "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"
        }
      ]
    },
    "MaxPageCount": 400,
    "TaskId": "0BC1310300002A9F000021E4D7A48346"
  }
}

错误码

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

变更历史

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