Tous les produits
Search
Centre de documentation

Simple Message Queue (formerly MNS):Simple Message Queue (formerly MNS): PeekMessage

Dernière mise à jour :Aug 10, 2026

Consulte un message dans une file d'attente sans modifier son état.

Description

L'opération PeekMessage récupère un message de la file d'attente spécifiée à des fins d'inspection uniquement. Contrairement à l'opération ReceiveMessage, cette action ne modifie pas l'état du message : celui-ci reste dans l'état Active et demeure disponible pour les autres consommateurs.

Pour chaque message renvoyé, la réponse inclut les éléments suivants :

  • Le corps du message et son hachage MD5

  • L'ID du message, unique au sein de la file d'attente

  • La priorité du message

  • L'horodatage de mise en file d'attente

  • L'horodatage de la première extraction et le nombre total d'extractions

PeekMessage ne renvoie pas de ReceiptHandle . Sans cet identifiant de réception, vous ne pouvez ni supprimer le message ni modifier son délai de visibilité. Pour consommer et retirer un message de la file d'attente, utilisez plutôt l'opération ReceiveMessage .

Différences entre PeekMessage et ReceiveMessage

Comportement PeekMessage ReceiveMessage
État du message après l'appel Reste Active Passe à Inactive
Visibilité pour les autres consommateurs Toujours visible Masqué pendant la durée définie par VisibilityTimeout
ReceiptHandle dans la réponse Non Oui
Possibilité de supprimer le message après l'appel Non Oui (avec ReceiptHandle)

Autorisation

Par défaut, seuls les comptes Alibaba Cloud peuvent appeler cette opération. Les utilisateurs RAM doivent disposer des autorisations requises. Pour plus d'informations, consultez la section Stratégies et exemples d'autorisations.

Élément Valeur
Opération API PeekMessage
Action mns:PeekMessage
Ressource acs:mns:$region:$accountid:/queues/$queueName/messages

Syntaxe de la requête

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

Paramètres d'URI

Paramètre Obligatoire Description
peekonly Oui Doit être défini sur true. Permet de consulter le message sans modifier son état.

En-têtes de requête

Aucun en-tête spécifique à cette opération n'est requis. Seuls les en-têtes de requête communs sont nécessaires.

Corps de la requête

Aucun.

Réponse

Code d'état HTTP

Une requête réussie renvoie le code HTTP/1.1 200 OK.

En-têtes de réponse

Aucun en-tête spécifique à cette opération n'est renvoyé. Seuls les en-têtes de réponse communs sont inclus.

Corps de la réponse

Le corps de la réponse est au format XML et contient les éléments suivants :

Paramètre Type Exemple Description
MessageId String D6D5F7C9C12D14A4-1-14D953EFC72-20000**** ID unique du message au sein de la file d'attente.
MessageBody String This is a test message. Corps du message.
MessageBodyMD5 String F9360F391579E71CA77BC5D50242**** Hachage MD5 du corps du message.
EnqueueTime Long 1250700979248 Horodatage d'envoi du message dans la file d'attente. Il s'agit d'un horodatage UNIX en millisecondes depuis le 1er janvier 1970, 00:00:00 UTC.
FirstDequeueTime Long 1250700979348 Horodatage de la première extraction du message. Il s'agit d'un horodatage UNIX en millisecondes depuis le 1er janvier 1970, 00:00:00 UTC. Si la valeur de DequeueCount est 0, cette valeur est identique à celle de EnqueueTime.
DequeueCount Integer 5 Nombre total d'extractions du message.
Priority Integer 8 Priorité du message.
Contrairement à ReceiveMessage, la réponse de PeekMessage n'inclut pas d'élément ReceiptHandle .

Exemples

Exemple de requête

GET /queues/$queueName/messages?peekonly=true 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****

Exemple de réponse

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"?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
    <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>

Codes d'erreur

Le tableau suivant répertorie les codes d'erreur spécifiques à cette opération. Pour les codes d'erreur communs, consultez la section Réponses d'erreur.

Code d'erreur Code d'état HTTP Message d'erreur Description
QueueNotExist 404 The queue name you provided is not exist. La file d'attente spécifiée n'existe pas. Vérifiez le nom de la file d'attente et la région, ou créez la file d'attente au préalable.
MessageNotExist 404 Message not exist. Aucun message n'est disponible pour consultation. La file d'attente est vide ou tous les messages sont dans l'état Inactive (consommés mais pas encore supprimés).