Peek-Lock zpráva (nedestruktivní čtení)
Tato operace atomicky načte a uzamkne zprávu z fronty nebo odběru pro zpracování. Je zaručeno, že zpráva nebude doručena jiným příjemcům (pouze ve stejné frontě nebo odběru) během doby trvání zámku zadané v popisu fronty nebo odběru. Po vypršení platnosti zámku bude zpráva k dispozici ostatním příjemcům. Aby bylo možné dokončit zpracování zprávy, měl by příjemce vydat příkaz delete s ID zámku přijatého z této operace. Pokud chcete ukončit zpracování zprávy a odemknout ji pro ostatní příjemce, měl by být vydán příkaz Odemknout zprávu , jinak může doba trvání zámku vypršet.
Tato operace by se měla používat v aplikacích, které vyžadují záruky doručení Alespoň jednou . Pokud příjemce neodstraní zprávu před úspěšným zpracováním, tato operace zajistí, že se po uplynutí doby trvání zámku bude moct o zpracování pokusit jiný příjemce.
Žádost
Metoda | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head nebo http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1 |
Hlavičky požadavku
Následující tabulka popisuje požadované a volitelné hlavičky požadavků. Kromě uvedených vlastností může hlavička obsahovat vlastní vlastnosti. Podívejte se na příklad.
Hlavička požadavku | Description |
---|---|
Autorizace | Zadejte jednu z následujících hodnot tokenu:
|
Text požadavku
Žádné
Odpověď
Odpověď obsahuje stavový kód HTTP, sadu hlaviček odpovědi a tělo odpovědi.
Kódy odpovědí
Kód | Description |
---|---|
201 | Zpráva se úspěšně načetla a uzamknula. |
204 | Během zadaného časového limitu nejsou k dispozici žádné zprávy. |
400 | Chybný požadavek. |
401 | Autorizace se nezdařila. |
410 | Zadaná fronta nebo předplatné neexistuje. |
500 | Vnitřní chyba. |
Informace o stavových kódech najdete v tématu Stavové kódy a kódy chyb.
Hlavičky odpovědi
Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může také obsahovat další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
Hlavička odpovědi | Description |
---|---|
Content-Type |
Nastavte na application/atom+xml;type=entry;charset=utf-8 . |
Location |
Identifikátor URI uzamčené zprávy. Tento identifikátor URI můžete použít k odemknutí nebo odstranění zprávy. |
BrokerProperties |
Přijatá zpráva zakódovaná ve formátu BrokerProperties JSON. Vlastnost LockToken představuje ID zámku pro vrácenou zprávu. Vlastnost SequenceNumber představuje pořadové číslo vrácené zprávy. |
Text odpovědi
Text odpovědi je tělo načtené zprávy.
Příklad
Následující požadavek HTTP uzamkne a vrátí zprávu z fronty:
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 vrátí následující odpověď. Zpráva obsahuje vlastní vlastnosti Priority
a 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