All Products
Search
Document Center

Simple Message Queue (formerly MNS):BatchPeekMessage

Last Updated:Sep 02, 2024

Queries multiple messages.

NameValue
APIBatchPeekMessage
Actionmns:BatchPeekMessage
Resourceacs:mns:$region:$accountid:/queues/$queueName/messages

Description

You can call this operation to query a maximum of 16 messages at a time. Different from the BatchReceiveMessage operation, the BatchPeekMessage operation does not change the status of the messages. After you call the BatchPeekMessage operation to view messages, the messages remain in the Active state and can still be viewed or consumed. However, if you call the BatchReceiveMessage operation to receive messages, the messages enter the Inactive state and cannot be viewed or consumed within the period specified by the VisibilityTimeout parameter.

Request

A request consists of the following parts:

  • Request line

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

  • Operation-specific URI parameter
    ParameterRequiredDescription
    peekonly=trueYesIndicates that this request is used only to view messages in the queue and does not change the status of the messages.
    numOfMessagesYesSpecifies the maximum number of messages that can be viewed at a time.
  • Operation-specific request headers

    None.

  • Request Body

    None.

Response

A response consists of the following parts:

  • HTTP Status Code

    HTTP/1.1 200 OK

  • Operation-specific response headers

    None.

  • Response Body

    The response body is in the XML format. The body and parameters of multiple messages are returned.

    ParameterDescription
    MessageIdThe ID of the message. In a queue, each message ID must be unique.
    MessageBodyThe body of the message.
    MessageBodyMD5The MD5 hash of the message body.
    EnqueueTimeThe time when the message was sent to the queue. The value is a timestamp that follows the UNIX time format. It is the number of milliseconds that have elapsed since 00:00:00 Thursday, 1 January 1970.
    FirstDequeueTimeThe time when the message was consumed for the first time. The value is a timestamp that follows the UNIX time format. It is the number of milliseconds that have elapsed since 00:00:00 Thursday, 1 January 1970. If the value of the DequeueCount parameter is 0, the value of the FirstDequeueTime parameter is the same as the value of the EnqueueTime parameter.
    DequeueCountThe total number of times for which the message was consumed.
    PriorityThe priority of the message.

Examples

Sample requests

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

Sample success responses

HTTP/1.1 200 OK
Connection:close
Content-Type=text/xml;charset=utf-8
Content-Length:500
x-mns-request-id:512B2A634403E52B1956****
x-mns-version: 2015-06-06

<? xml version="1.0" encoding="UTF-8"? >
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
<Message>
    <MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-20000****</MessageId>
    <MessageBodyMD5>F9360F391579E71CA77BC5D50242****</MessageBodyMD5>
    <MessageBody>This is a test message</MessageBody>
    <EnqueueTime>1250700979248</EnqueueTime>
    <FirstDequeueTime>1250700979348</FirstDequeueTime >
    <DequeueCount>5</DequeueCount>
    <Priority>8<Priority>
</Message>
<Message>
    <MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-20000****</MessageId>
    <MessageBodyMD5>F9360F391579E71CA77BC5D50242****</MessageBodyMD5>
    <MessageBody>This is a test message</MessageBody>
    <EnqueueTime>1250700979250</EnqueueTime>
    <FirstDequeueTime>1250700979352</FirstDequeueTime >
    <DequeueCount>5</DequeueCount>
    <Priority>8<Priority>
</Message>
</Messages>            

Special error

Error codeError messageHTTP status code
QueueNotExistThe queue name you provided is not exist.404
MessageNotExistMessage not exist.404