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