本接口用于消费者查看消息。PeekMessage与ReceiveMessage不同,PeekMessage并不会改变消息的状态,即被PeekMessage获取消息后消息仍然处于Active状态,仍然可被查看或消费;而ReceiveMessage操作成功后消息进入Inactive,在VisibilityTimeout的时间内不可被查看和消费。
Request
Request的构造主要由以下几个部分组成:
- 请求行
GET /$queueName/messages?peekonly=true HTTP/1.1
- URI参数
peekonly=true表示这次请求只是去查看队列顶部的消息并不会引起消息的状态改变。
- 特有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日0点整开始的毫秒数。 FirstDequeueTime 第一次被消费的时间,从1970年1月1日0点整开始的毫秒数,如果DequeueCount为0,则与消息的EnqueueTime相同。 DequeueCount 总共被消费的次数。 Priority 消息的优先级权值。
Special Error
错误代码 | 错误消息 | 状态码 |
---|---|---|
QueueNotExist | The queue name you provided is not exist. | 404 |
MessageNotExist | Message not exist. | 404 |
- 请求示例
GET /$queueName/messages?peekonly=true HTTP/1.1 Host: $AccountId.mqs-cn-hangzhou.aliyuncs.com Date: Wed, 28 May 2012 22:32:00 GMT x-mqs-version: 2014-07-08 Authorization: MQS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
- 返回示例
HTTP/1.1 200 OK Connection:close Content-Type=text/xml;charset=utf-8 Content-Length:500 x-mqs-request-id:512B2A634403E52B1956133E x-mqs-version: 2015-06-06 <?xml version="1.0" encoding="UTF-8"?> <Message xmlns=”http://mqs.aliyuncs.com/doc/v1/”> <MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-200000004</MessageId> <MessageBodyMD5>F9360F391579E71CA77BC5D50242FCF4</MessageBodyMD5> <MessageBody>This is a test message</MessageBody> <EnqueueTime>1250700979248</EnqueueTime> <FirstDequeueTime>1250700979348</FirstDequeueTime > <DequeueCount>5</DequeueCount> <Priority>8<Priority> </Message>