Blocco di visualizzazione di un messaggio (lettura non distruttiva)
Questa operazione recupera e blocca automaticamente un messaggio da una coda o sottoscrizione per l'elaborazione. Il messaggio non verrà consegnato ad altri ricevitori (solo nella stessa coda o sottoscrizione) per tutta la durata del blocco specificata nella descrizione della coda/sottoscrizione. Alla scadenza del blocco, il messaggio diventa disponibile per altri ricevitori. Per completare l'elaborazione del messaggio, il ricevitore deve eseguire un comando di eliminazione con l'ID di blocco ricevuto da questa operazione. Per abbandonare l'elaborazione del messaggio e sbloccarla per altri ricevitori, è necessario eseguire un comando Sblocca messaggio ; in caso contrario, il periodo di durata del blocco può scadere.
Questa operazione deve essere usata in applicazioni che richiedono livelli di sicurezza del recapito di tipo At-Least-Once. Se il ricevitore non elimina il messaggio prima che l'elaborazione abbia esito positivo, questa operazione garantisce che un altro ricevitore sia in grado di tentare l'elaborazione dopo la scadenza del periodo di durata del blocco.
Richiesta
Metodo | URI richiesta | Versione HTTP |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head oppure http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1 |
Intestazioni richiesta
Nella seguente tabella vengono descritte le intestazioni di richiesta obbligatorie e facoltative. Oltre alle proprietà elencate, l'intestazione può contenere proprietà personalizzate. Vedere l'esempio.
Intestazione della richiesta | Descrizione |
---|---|
Autorizzazione | Specificare uno dei valori di token seguenti:
|
Corpo della richiesta
Nessuno.
Risposta
Nella risposta sono inclusi un codice di stato HTTP, un set di intestazioni della risposta e il corpo della risposta.
Codici di risposta
Codice | Descrizione |
---|---|
201 | Messaggio recuperato e bloccato. |
204 | Nessun messaggio disponibile nel periodo di timeout specificato. |
400 | Richiesta non valida. |
401 | Errore di autorizzazione. |
410 | Coda o sottoscrizione specificata inesistente. |
500 | Errore interno. |
Per informazioni sui codici di stato, vedere Codici di stato e di errore.
Intestazioni della risposta
Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.
Intestazione di risposta | Descrizione |
---|---|
Content-Type |
Impostare su application/atom+xml;type=entry;charset=utf-8 . |
Location |
URI del messaggio bloccato. Questo URI può essere usato per sbloccare o eliminare il messaggio. |
BrokerProperties |
Codifica BrokerProperties JSON del messaggio ricevuto. La LockToken proprietà rappresenta l'ID di blocco per il messaggio restituito. La SequenceNumber proprietà rappresenta il numero di sequenza del messaggio restituito. |
Corpo della risposta
Il corpo della risposta è il corpo del messaggio recuperato.
Esempio
La richiesta HTTP seguente blocca e restituisce un messaggio da una coda:
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
Il bus di servizio restituisce la risposta seguente. Il messaggio contiene le proprietà personalizzate Priority
e 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