Udostępnij za pośrednictwem


komunikat Peek-Lock (odczyt niedestrukcyjny)

Ta operacja niepodziealnie pobiera i blokuje komunikat z kolejki lub subskrypcji na potrzeby przetwarzania. Nie ma gwarancji, że komunikat nie zostanie dostarczony do innych odbiorników (tylko w tej samej kolejce lub subskrypcji) w czasie trwania blokady określony w opisie kolejki/subskrypcji. Po wygaśnięciu blokady komunikat staje się dostępny dla innych odbiorców. Aby ukończyć przetwarzanie komunikatu, odbiornik powinien wydać polecenie usuwania z identyfikatorem blokady odebranym z tej operacji. Aby porzucić przetwarzanie komunikatu i odblokować go dla innych odbiorników, należy wydać polecenie Odblokuj komunikat , w przeciwnym razie okres trwania blokady może wygasnąć.

Ta operacja powinna być używana w aplikacjach, które wymagają gwarancji dostarczania co najmniej raz . Jeśli odbiornik nie usunie komunikatu przed pomyślnym przetworzeniem, ta operacja gwarantuje, że inny odbiornik będzie mógł podjąć próbę przetworzenia po wygaśnięciu okresu trwania blokady.

Żądanie

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
POST http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head

lub

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

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań. Oprócz wymienionych właściwości nagłówek może zawierać właściwości niestandardowe. Zobacz przykład.

Nagłówek żądania Opis
Autoryzacja Określ jedną z następujących wartości tokenu:

Treść żądania

Brak.

Reakcja

Odpowiedź zawiera kod stanu HTTP, zestaw nagłówków odpowiedzi i treść odpowiedzi.

Kody odpowiedzi

Kod Opis
201 Komunikat został pomyślnie pobrany i zablokowany.
204 Brak dostępnych komunikatów w określonym przedziale czasu.
400 Nieprawidłowe żądanie.
401 Niepowodzenie autoryzacji.
410 Określona kolejka lub subskrypcja nie istnieje.
500 Błąd wewnętrzny.

Aby uzyskać informacje o kodach stanu, zobacz Status and Error Codes (Kody stanu i błędów).

Nagłówki odpowiedzi

Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie standardowe nagłówki są zgodne ze specyfikacją protokołu HTTP/1.1.

Nagłówek odpowiedzi Opis
Content-Type Ustaw wartość application/atom+xml;type=entry;charset=utf-8.
Location Identyfikator URI zablokowanego komunikatu. Możesz użyć tego identyfikatora URI, aby odblokować lub usunąć komunikat.
BrokerProperties Kod BrokerProperties JSON odebranego komunikatu. Właściwość LockToken reprezentuje identyfikator blokady zwróconego komunikatu. Właściwość SequenceNumber reprezentuje numer sekwencji zwróconego komunikatu.

Treść odpowiedzi

Treść odpowiedzi to treść komunikatu pobranego.

Przykład

Następujące żądanie HTTP blokuje i zwraca komunikat z kolejki:

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  

Usługa Service Bus zwraca następującą odpowiedź. Komunikat zawiera właściwości Priority niestandardowe i 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  

Zobacz też

Przykład klienta HTTP usługi Service Bus