开发者社区> 问答> 正文

API如何批量查看消息?



基本信息

NameValue
[backcolor=transparent]APIBatchPeekMessage
[backcolor=transparent]RAM授权操作mns:BatchPeekMessage
[backcolor=transparent]资源acs:mns:$region:$accountid:/queues/$queueName/messages


描述


该接口用于消费者批量查看消息,一次最多查看16条消息。BatchPeekMessage 与 BatchReceiveMessage 不同, BatchPeekMessage 并不会改变消息的状态,即被 BatchPeekMessage 获取消息后消息仍然处于 Active 状态,仍然可被查看或消费;而后者操作成功后消息进入 Inactive,在 VisibilityTimeout 的时间内不可被查看和消费。


Request


Request的构造主要由以下几个部分组成:

  • 请求行

    GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 HTTP/1.1

  • 特有URI参数
参数名称说明选项
peekonly=true表示这次请求只是去查看队列顶部的消息并不会引起消息的状态改变Required
numOfMessages本次 BatchPeekMessage 最多查看消息条数Required

  • 特有Request Header

    无,请参考 [backcolor=transparent]调用方式/公共参数

  • Request Body



Response


返回消息由返回状态行,HTTP头和消息体三部分组成。

  • HTTP Status Code

    HTTP/1.1 200 OK

  • 特有Response Header

    无,请参考 [backcolor=transparent]调用方式/公共参数

  • Response Body

    返回的结果为XML格式,返回多条Message消息正文及消息属性。
参数名称说明
MessageId消息编号,在一个 Queue 唯一
MessageBody消息正文
MessageBodyMD5消息正文的 MD5 值
EnqueueTime消息发送到队列的时间,从1970年1月1日 00:00:00 000 开始的毫秒数
FirstDequeueTime第一次被消费的时间,从1970年1月1日 00:00:00 000 开始的毫秒数,如果 DequeueCount 为0,则与消息的 EnqueueTime 相同
DequeueCount总共被消费的次数
Priority消息的优先级权值


Special Error

错误代码错误消息状态码
QueueNotExistThe queue name you provided is not exist.404
MessageNotExistMessage not exist.404

[backcolor=transparent]请求示例:
[backcolor=transparent]

展开
收起
轩墨 2017-10-24 15:36:56 1734 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载