komunikat Peek-Lock (odczyt niedestrukcyjny)
Ta operacja niepodziealnie pobiera i blokuje komunikat z kolejki lub subskrypcji na potrzeby przetwarzania. Komunikat nie jest dostarczany do innych odbiorników (tylko w tej samej kolejce lub subskrypcji) w czasie trwania blokady określonej w opisie kolejki/subskrypcji. Po wygaśnięciu blokady komunikat staje się dostępny dla innych odbiorców. Aby ukończyć przetwarzanie komunikatu, odbiorca 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ć odblokuj komunikat polecenie, w przeciwnym razie okres trwania blokady może wygasnąć.
Ta operacja powinna być używana w aplikacjach, które wymagają co najmniej raz zapewniania dostarczania. Jeśli odbiorca 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.
Prosić
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
Żaden.
Odpowiedź
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 stan i kody błędów.
Nagłówki odpowiedzi
Odpowiedź dla tej operacji zawiera następujące nagłówki. Odpowiedź może również zawierać bardziej 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 |
Kodowanie JSON BrokerProperties odebranego komunikatu. Właściwość LockToken reprezentuje identyfikator blokady zwróconej wiadomości. Właściwość SequenceNumber reprezentuje numer sekwencji zwróconego komunikatu. |
Treść odpowiedzi
Treść odpowiedzi to treść komunikatu pobranego komunikatu.
Przykład
Następujące żądania 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 niestandardowe Priority
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