Partager via


Peek Messages

L’opération Peek Messages récupère un ou plusieurs messages à l’avant de la file d’attente, mais elle ne modifie pas la visibilité du message.

Requête

Vous pouvez construire la Peek Messages requête comme suit. Nous vous recommandons d’utiliser HTTPS. Remplacez myaccount par le nom de votre compte de stockage et remplacez myqueue par le nom de votre file d’attente :

Méthode URI de demande Version HTTP
GET https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true HTTP/1.1

Demande de service de stockage émulée

Lorsque vous effectuez une requête auprès du service de stockage émulé, spécifiez le nom d’hôte de l’émulateur et le port du service file d’attente comme 127.0.0.1:10001, suivi du nom du compte de stockage émulé :

Méthode URI de demande Version HTTP
GET http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true HTTP/1.1

Pour plus d’informations, consultez Utiliser l’émulateur Azurite à des fins de développement local pour Stockage Azure.

Paramètres URI

Les paramètres suivants peuvent être spécifiés dans l'URI de la demande.

Paramètre Description
numofmessages facultatif. Une valeur entière différente de zéro qui spécifie le nombre de messages à examiner à partir de la file d'attente, avec un maximum de 32. Par défaut, cette opération ne donne un aperçu que d'un seul message de la file d'attente.
timeout Optionnel. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’attente pour les opérations de service file d’attente.

En-têtes de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans le tableau suivant :

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
x-ms-version Optionnel. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
x-ms-client-request-id Optionnel. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes reçues par le serveur. Pour plus d’informations, consultez Surveiller le stockage File d’attente Azure.

Corps de la demande

Aucun.

response

La réponse inclut un code d'état HTTP, un ensemble d'en-têtes de réponse et un corps de réponse XML.

Code d’état

Une opération réussie envoie le code d'état 200 (OK).

Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.

En-têtes de réponse

La réponse de l'opération inclut les en-têtes suivants. La réponse peut également inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

En-tête de réponse Description
x-ms-request-id Identifie de manière unique la demande qui a été effectuée et vous pouvez l’utiliser pour résoudre les problèmes de la demande. Pour plus d’informations, consultez Résoudre les problèmes liés aux opérations d’API.
x-ms-version Version du service file d’attente utilisée pour exécuter la demande. Retourné pour les demandes effectuées sur la version 2009-09-19 et ultérieure.
Date Valeur de date/heure UTC générée par le service, qui indique l’heure à laquelle la réponse a été lancée.
x-ms-client-request-id Peut être utilisé pour résoudre les demandes et leurs réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id s’il est présent dans la requête et que la valeur ne contient pas plus de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, il ne sera pas présent dans la réponse.

Response body

La réponse XML pour l'opération Peek Messages est renvoyée au format suivant.

L'élément MessageID est une valeur GUID qui identifie le message dans la file d'attente. Cette valeur est assignée au message par le service de File d'attente et est opaque au client.

Les éléments InsertionTime et ExpirationTime sont représentés par des valeurs UTC et mis en forme comme indiqué dans la RFC 1123.

L'élément DequeueCount a une valeur de 1 la première fois que le message est dépilé. Cette valeur est incrémentée chaque fois que le message est dépilé.

Remarque

L’élément DequeueCount n’est retourné dans le corps de la réponse que si la file d’attente a été créée avec le service file d’attente version 2009-09-19.

<QueueMessagesList>  
    <QueueMessage>  
      <MessageId>string-message-id</MessageId>  
      <InsertionTime>insertion-time</InsertionTime>  
      <ExpirationTime>expiration-time</ExpirationTime>  
      <DequeueCount>integer</DequeueCount>  
      <MessageText>message-body</MessageText>  
    </QueueMessage>  
</QueueMessagesList>  

Remarque

Cette réponse diffère de la réponse pour l’opération Obtenir des messages en ce qu’elle ne contient pas les PopReceipt éléments ou TimeNextVisible .

Exemple de réponse

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
Content-Type: application/xml  
Date: Fri, 16 Sep 2011 22:51:18 GMT  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
  
Response Body:  
<?xml version="1.0" encoding="utf-8"?>  
<QueueMessagesList>  
  <QueueMessage>  
    <MessageId>06eba214-8107-4412-a7f6-710a9baff647</MessageId>  
    <InsertionTime>Fri, 09 Oct 2009 18:59:54 GMT</InsertionTime>  
    <ExpirationTime>Fri, 16 Sep 2009 18:59:54 GMT</ExpirationTime>  
    <DequeueCount>1</DequeueCount>  
    <MessageText>PHRlc3Q+dGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvdGVzdD4=</MessageText>  
  </QueueMessage>  
</QueueMessagesList>  

Autorisation

Cette opération peut être effectuée par le propriétaire du compte et par toute personne disposant d’une signature d’accès partagé qui a l’autorisation d’effectuer cette opération.

Notes

Quand un message est récupéré de la file d'attente avec peekonly défini à true, la visibilité du message est inchangée. Le message reste disponible pour les autres consommateurs de la file d’attente jusqu’à ce qu’un client récupère le message à l’aide de l’opération Obtenir des messages . Le client qui demande le message ne reçoit pas de reçu contextuel avec la réponse et, par conséquent, ne peut pas supprimer le message.

Seuls les messages visibles peuvent être récupérés avec l’opération Peek Messages . Notez que le nombre maximal de messages pouvant être récupérés est de 32.

Quand un message est récupéré pour la première fois avec un appel à Get Messages, sa propriété DequeueCount est définie à 1. Si elle n’est pas supprimée et est ensuite récupérée à nouveau, la DequeueCount propriété est incrémentée. Le client peut utiliser cette valeur pour déterminer le nombre de fois où un message a été récupéré.

Remarque

Un appel à Peek Messages n’incrémente pas la valeur de DequeueCount, mais il retourne cette valeur que le client doit lire.

Si le paramètre numofmessages est hors plage, le service retourne status code 400 (requête incorrecte), ainsi que des informations d’erreur supplémentaires, comme illustré dans l’exemple suivant :

HTTP/1.1 400 One of the query parameters specified in the request URI is outside the permissible range.  
Connection: Keep-Alive  
Content-Length: 455  
Via: 1.1 TK5-PRXY-22  
Date: Wed, 02 May 2012 19:37:23 GMT  
Content-Type: application/xml  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: 6a03526c-ca2c-4358-a63a-b5d096988533  
x-ms-version: 2011-08-18  
  
<?xml version="1.0" encoding="utf-8"?>  
   <Error>  
      <Code>OutOfRangeQueryParameterValue</Code>  
      <Message>One of the query parameters specified in the request URI is outside the permissible range.  
               RequestId:6a03526c-ca2c-4358-a63a-b5d096988533  
               Time:2012-05-02T19:37:24.2438463Z  
      </Message>  
      <QueryParameterName>numofmessages</QueryParameterName>  
      <QueryParameterValue>0</QueryParameterValue>  
      <MinimumAllowed>1</MinimumAllowed>  
      <MaximumAllowed>32</MaximumAllowed>  
   </Error>  
  

Voir aussi

Autoriser les demandes à Stockage Azure
Codes d’état et d’erreur
Codes d’erreur du service de file d’attente