全部产品
云市场

BatchPeekMessage

更新时间:2019-10-09 14:35:03

使用BatchPeekMessage接口来批量查看消息。

基本信息

Name Value
API BatchPeekMessage
RAM授权操作 mns:BatchPeekMessage
资源 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 表示这次请求只是去查看队列顶部的消息并不会引起消息的状态改变
numOfMessages 本次BatchPeekMessage最多查看消息条数
  • 特有Request Header

    无,请参见公共参数

  • Request Body

Response

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

  • HTTP Status Code

    HTTP/1.1 200 OK

  • 特有Response Header

    无,请参见公共参数

  • 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开始的毫秒数,如果DequeueCount0,则与消息的EnqueueTime相同
DequeueCount 总共被消费的次数
Priority 消息的优先级权值

示例

请求示例:

  1. GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Wed, 28 May 2012 22:32:00 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE

返回示例:

  1. HTTP/1.1 200 OK
  2. Connection:close
  3. Content-Type=text/xml;charset=utf-8
  4. Content-Length:500
  5. x-mns-request-id:512B2A634403E52B1956133E
  6. x-mns-version: 2015-06-06
  7. <?xml version="1.0" encoding="UTF-8"?>
  8. <Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
  9. <Message>
  10. <MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-200000004</MessageId>
  11. <MessageBodyMD5>F9360F391579E71CA77BC5D50242FCF4</MessageBodyMD5>
  12. <MessageBody>This is a test message</MessageBody>
  13. <EnqueueTime>1250700979248</EnqueueTime>
  14. <FirstDequeueTime>1250700979348</FirstDequeueTime >
  15. <DequeueCount>5</DequeueCount>
  16. <Priority>8<Priority>
  17. </Message>
  18. <Message>
  19. <MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-200000005</MessageId>
  20. <MessageBodyMD5>F9360F391579E71CA77BC5D50242FCF4</MessageBodyMD5>
  21. <MessageBody>This is a test message</MessageBody>
  22. <EnqueueTime>1250700979250</EnqueueTime>
  23. <FirstDequeueTime>1250700979352</FirstDequeueTime >
  24. <DequeueCount>5</DequeueCount>
  25. <Priority>8<Priority>
  26. </Message>
  27. </Messages>

Special Error

错误码 错误信息 状态码
QueueNotExist The queue name you provided is not exist. 404
MessageNotExist Message not exist. 404