Peek-Lock meddelande (icke-destruktiv läsning)
Den här åtgärden hämtar och låser ett meddelande från en kö eller prenumeration för bearbetning. Meddelandet kommer garanterat inte att levereras till andra mottagare (endast i samma kö eller prenumeration) under låsvaraktigheten som anges i kö-/prenumerationsbeskrivningen. När låset upphör att gälla blir meddelandet tillgängligt för andra mottagare. För att slutföra bearbetningen av meddelandet bör mottagaren utfärda ett borttagningskommando med lås-ID:t som tagits emot från den här åtgärden. Om du vill avbryta bearbetningen av meddelandet och låsa upp det för andra mottagare ska kommandot Unlock Message utfärdas, annars kan låsets varaktighetsperiod gå ut.
Den här åtgärden bör användas i program som kräver leveransgarantier minst en gång . Om mottagaren inte tar bort meddelandet innan bearbetningen lyckas säkerställer den här åtgärden att en annan mottagare kan försöka bearbeta efter att låsets varaktighet har gått ut.
Förfrågan
Metod | URI för förfrågan | HTTP-version |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head eller http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1 |
Rubriker för begäran
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden. Förutom de angivna egenskaperna kan huvudet innehålla anpassade egenskaper. Se exemplet.
Begärandehuvud | Description |
---|---|
Auktorisering | Ange något av följande tokenvärden:
|
Begärandetext
Inga.
Svarsåtgärder
Svaret innehåller en HTTP-statuskod, en uppsättning svarshuvuden och svarstexten.
Svarskoder
Kod | Description |
---|---|
201 | Meddelandet har hämtats och låsts. |
204 | Inga meddelanden är tillgängliga inom den angivna tidsgränsen. |
400 | Felaktig begäran. |
401 | Auktoriseringsfel. |
410 | Den angivna kön eller prenumerationen finns inte. |
500 | Internt fel. |
Information om statuskoder finns i Status och Felkoder.
Svarsrubriker
Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Svarshuvud | Description |
---|---|
Content-Type |
Ange till application/atom+xml;type=entry;charset=utf-8 . |
Location |
URI:n för det låsta meddelandet. Du kan använda den här URI:n för att låsa upp eller ta bort meddelandet. |
BrokerProperties |
JSON-kodad BrokerProperties för det mottagna meddelandet. Egenskapen LockToken representerar lås-ID:t för det returnerade meddelandet. Egenskapen SequenceNumber representerar sekvensnumret för det returnerade meddelandet. |
Svarstext
Svarstexten är meddelandetexten för det hämtade meddelandet.
Exempel
Följande HTTP-begäran låser och returnerar meddelande från en kö:
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 returnerar följande svar. Meddelandet innehåller anpassade egenskaper Priority
och 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