Partager via


message Peek-Lock (lecture non destructrice)

Cette opération récupère et verrouille un message à partir d’une file d’attente ou d’un abonnement pour traitement. Le message est garanti de ne pas être remis à d’autres récepteurs (sur la même file d’attente ou l’abonnement uniquement) pendant la durée de verrouillage spécifiée dans la description de la file d’attente/de l’abonnement. Lorsque le verrou expire, le message devient disponible pour d’autres récepteurs. Pour terminer le traitement du message, le destinataire doit émettre une commande delete avec l’ID de verrouillage reçu de cette opération. Pour abandonner le traitement du message et le déverrouiller pour d’autres récepteurs, une commande Déverrouiller le message doit être émise, sinon la période de verrouillage peut expirer.

Cette opération doit être utilisée dans les applications qui nécessitent garanties de remise au moins une fois. Si le récepteur ne supprime pas le message avant la réussite du traitement, cette opération garantit qu’un autre récepteur est en mesure de tenter de traiter après l’expiration de la période de verrouillage.

Demander

Méthode URI de requête HTTP Version
PUBLIER http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head

ou

http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1

En-têtes de requête

Le tableau suivant décrit les en-têtes de requête obligatoires et facultatifs. Outre les propriétés répertoriées, l’en-tête peut contenir des propriétés personnalisées. Consultez l’exemple.

En-tête de requête Description
Autorisation Spécifiez l’une des valeurs de jeton suivantes :

Corps de la demande

Aucun.

Réponse

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

Codes de réponse

Code Description
201 Message récupéré et verrouillé.
204 Aucun message n’est disponible dans le délai d’attente spécifié.
400 Demande incorrecte.
401 Échec de l’autorisation.
410 La file d’attente ou l’abonnement spécifié n’existe pas.
500 Erreur interne.

Pour plus d’informations sur les codes d’état, consultez Status and Error Codes.

En-têtes de réponse

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

En-tête de réponse Description
Content-Type Défini sur application/atom+xml;type=entry;charset=utf-8.
Location URI du message verrouillé. Vous pouvez utiliser cet URI pour déverrouiller ou supprimer le message.
BrokerProperties Encodé au format JSON BrokerProperties du message reçu. La propriété LockToken représente l’ID de verrou du message retourné. La propriété SequenceNumber représente le numéro de séquence du message retourné.

Corps de la réponse

Le corps de la réponse est le corps du message récupéré.

Exemple

Les verrous de requête HTTP suivants et retournent le message d’une file d’attente :

POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages/head?timeout=60 HTTP/1.1  
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey  
Host: your-namespace.servicebus.windows.net  
Content-Length: 0  

Service Bus retourne la réponse suivante. Le message contient les propriétés personnalisées Priority et Customer:

HTTP/1.1 201 Created  
Transfer-Encoding: chunked  
Content-Type: application/atom+xml;type=entry;charset=utf-8  
Location: https://your-namespace.servicebus.windows.net/httpclientsamplequeue/messages/2/7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547  
Server: Microsoft-HTTPAPI/2.0  
BrokerProperties: {"DeliveryCount":1,"EnqueuedSequenceNumber":0,"EnqueuedTimeUtc":"Wed, 02 Jul 2014 01:32:27 GMT","Label":"M1","LockToken":"7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547","LockedUntilUtc":"Wed, 02 Jul 2014 01:33:27 GMT","MessageId":"31907572164743c38741631acd554d6f","SequenceNumber":2,"State":"Active","TimeToLive":10}  
Priority: "High"  
Customer: "12345,ABC"  
Date: Wed, 02 Jul 2014 01:32:27 GMT  
  
12  
This is a message.  
0  

Voir aussi