All Products
Search
Document Center

Simple Message Queue (formerly MNS):BatchPeekMessage

Last Updated:Mar 11, 2026

Peeks at multiple messages in a queue without changing their state.

Description

BatchPeekMessage retrieves up to 16 messages from a queue in a single request. This operation is non-destructive -- messages remain in the Active state and are still available for other consumers to view or receive.

Unlike [BatchReceiveMessage], which moves messages to the Inactive state and hides them from other consumers for the VisibilityTimeout period, BatchPeekMessage leaves all message states unchanged.

Authorization

By default, only Alibaba Cloud accounts can call this operation. RAM users must be granted the required permissions first. For details, see Permission policies and examples.

ItemValue
API operationBatchPeekMessage
Actionmns:BatchPeekMessage
Resourceacs:mns:$region:$accountid:/queues/$queueName/messages

Request syntax

GET /queues/$queueName/messages?peekonly=true&numOfMessages=<num> HTTP/1.1
Host: $AccountId.mns.<region>.aliyuncs.com
Date: <date>
x-mns-version: 2015-06-06
Authorization: MNS <AccessKeyId>:<Signature>

URI parameters

ParameterTypeRequiredExampleDescription
peekonlyBooleanYestrueFixed to true. Indicates that messages are viewed without state changes.
numOfMessagesIntegerNo16The maximum number of messages that can be viewed at a time.

Request headers

No operation-specific headers. For common headers, see [Common parameters].

Request body

None.

Response syntax

HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
x-mns-request-id: <request-id>
x-mns-version: 2015-06-06

<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns="http://mns.aliyuncs.com/doc/v1/">
  <Message>
    <MessageId>...</MessageId>
    <MessageBodyMD5>...</MessageBodyMD5>
    <MessageBody>...</MessageBody>
    <EnqueueTime>...</EnqueueTime>
    <FirstDequeueTime>...</FirstDequeueTime>
    <DequeueCount>...</DequeueCount>
    <Priority>...</Priority>
  </Message>
  <!-- Additional <Message> elements -->
</Messages>

Response parameters

The response body is in XML format. Each <Message> element contains the following fields:

ParameterTypeExampleDescription
MessageIdStringD6D5F7C9C12D14A4-1-14D953EFC72-20000****Unique identifier of the message within the queue.
MessageBodyStringThis is a test message.Body of the message.
MessageBodyMD5StringF9360F391579E71CA77BC5D50242****MD5 hash of the message body.
EnqueueTimeLong1250700979248Time when the message entered the queue. UNIX timestamp in milliseconds since January 1, 1970, 00:00:00 UTC.
FirstDequeueTimeLong1250700979348Time when the message was first consumed. UNIX timestamp in milliseconds. Equals EnqueueTime if DequeueCount is 0.
DequeueCountInteger5Total number of times the message has been consumed.
PriorityInteger8Priority of the message.

Examples

Sample request

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 response

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>B4D5E8A7F23C19B5-2-15E064AFC83-30001****</MessageId>
    <MessageBodyMD5>A1B2C3D4E5F6A7B8C9D0E1F2A3B4****</MessageBodyMD5>
    <MessageBody>This is a test message.</MessageBody>
    <EnqueueTime>1250700979250</EnqueueTime>
    <FirstDequeueTime>1250700979352</FirstDequeueTime>
    <DequeueCount>5</DequeueCount>
    <Priority>8</Priority>
  </Message>
</Messages>

Error codes

Error codeError messageHTTP status codeDescription
QueueNotExistThe queue name you provided is not exist.404The specified queue does not exist. Verify the queue name or create the queue first.
MessageNotExistMessage not exist.404No visible messages exist in the queue.

See also