Podgląd komunikatów
Operacja Peek Messages
pobiera jeden lub więcej komunikatów z przodu kolejki, ale nie zmienia widoczności komunikatu.
Żądanie
Żądanie można skonstruować Peek Messages
w następujący sposób. Zalecamy używanie protokołu HTTPS. Zastąp ciąg myaccount nazwą konta magazynu i zastąp ciąg myqueue nazwą kolejki:
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
GET |
https://myaccount.queue.core.windows.net/myqueue/messages?peekonly=true |
HTTP/1.1 |
Żądanie usługi magazynu emulowanego
Gdy wysyłasz żądanie względem emulowanej usługi magazynu, określ nazwę hosta emulatora i port usługi kolejki jako 127.0.0.1:10001
, a następnie nazwę emulowanego konta magazynu:
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
GET |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?peekonly=true |
HTTP/1.1 |
Aby uzyskać więcej informacji, zobacz Use the Azurite emulator for local Azure Storage development (Używanie emulatora Azurite do lokalnego programowania w usłudze Azure Storage).
Parametry identyfikatora URI
W identyfikatorze URI żądania można określić następujące parametry.
Parametr | Opis |
---|---|
numofmessages |
Opcjonalny. Wartość całkowita niezerowa określająca liczbę komunikatów do wglądu z kolejki, maksymalnie 32. Domyślnie pojedynczy komunikat jest podglądany z kolejki za pomocą tej operacji. |
timeout |
Opcjonalny. Parametr jest wyrażony timeout w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi kolejki. |
Nagłówki żądań
Wymagane i opcjonalne nagłówki żądań opisano w poniższej tabeli:
Nagłówek żądania | Opis |
---|---|
Authorization |
Wymagane. Określa schemat autoryzacji, nazwę konta i podpis. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
Date lub x-ms-date |
Wymagane. Określa dla żądania godzinę w formacie uniwersalnego czasu koordynowanego (UTC). Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
x-ms-version |
Opcjonalny. Określa wersję operacji do użycia dla tego żądania. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji usług Azure Storage. |
x-ms-client-request-id |
Opcjonalny. Udostępnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB), który jest rejestrowany w dziennikach podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. Aby uzyskać więcej informacji, zobacz Monitorowanie usługi Azure Queue Storage. |
Treść żądania
Brak.
Reakcja
Odpowiedź zawiera kod stanu HTTP, zestaw nagłówków odpowiedzi i treść odpowiedzi XML.
Kod stanu
Operacja zakończona powodzeniem zwraca kod stanu 200 (OK).
Aby uzyskać więcej informacji na temat kodów stanu, zobacz Kody stanu i błędów.
Nagłówki odpowiedzi
Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź zawiera również dodatkowe standardowe nagłówki HTTP. Wszystkie nagłówki standardowe są zgodne ze specyfikacją protokołu HTTP/1.1.
Nagłówek odpowiedzi | Opis |
---|---|
x-ms-request-id |
Unikatowo identyfikuje wykonane żądanie i można go użyć do rozwiązywania problemów z żądaniem. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z operacjami interfejsu API. |
x-ms-version |
Wersja usługi Queue, która została użyta do wykonania żądania. Zwrócono żądania, które zostały wykonane w wersji 2009-09-19 lub nowszej. |
Date |
Wartość daty/godziny UTC wygenerowana przez usługę, która wskazuje godzinę zainicjowania odpowiedzi. |
x-ms-client-request-id |
Może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi im odpowiedziami. Wartość tego nagłówka jest równa wartości x-ms-client-request-id nagłówka, jeśli znajduje się w żądaniu, a wartość nie zawiera więcej niż 1024 widocznych znaków ASCII.
x-ms-client-request-id Jeśli nagłówek nie jest obecny w żądaniu, nie będzie on obecny w odpowiedzi. |
Treść odpowiedzi
Kod XML odpowiedzi dla Peek Messages
operacji jest zwracany w następującym formacie.
Element MessageID
jest wartością identyfikatora GUID, która identyfikuje komunikat w kolejce. Ta wartość jest przypisywana do komunikatu przez usługę Kolejki i jest nieprzezroczysta dla klienta.
InsertionTime
Elementy i ExpirationTime
są reprezentowane jako wartości UTC i sformatowane zgodnie z opisem w artykule RFC 1123.
Element DequeueCount
ma wartość 1 po raz pierwszy, gdy komunikat jest w kolejce. Ta wartość jest zwiększana za każdym razem, gdy komunikat zostanie w kolejce.
Uwaga
Element DequeueCount
jest zwracany w treści odpowiedzi tylko wtedy, gdy kolejka została utworzona za pomocą usługi Queue Service w wersji 2009-09-19.
<QueueMessagesList>
<QueueMessage>
<MessageId>string-message-id</MessageId>
<InsertionTime>insertion-time</InsertionTime>
<ExpirationTime>expiration-time</ExpirationTime>
<DequeueCount>integer</DequeueCount>
<MessageText>message-body</MessageText>
</QueueMessage>
</QueueMessagesList>
Uwaga
Ta odpowiedź różni się od odpowiedzi operacji Pobieranie komunikatów , ponieważ nie zawiera elementów PopReceipt
lub TimeNextVisible
.
Przykładowa odpowiedź
Response Status:
HTTP/1.1 200 OK
Response Headers:
Transfer-Encoding: chunked
Content-Type: application/xml
Date: Fri, 16 Sep 2011 22:51:18 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
Response Body:
<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
<QueueMessage>
<MessageId>06eba214-8107-4412-a7f6-710a9baff647</MessageId>
<InsertionTime>Fri, 09 Oct 2009 18:59:54 GMT</InsertionTime>
<ExpirationTime>Fri, 16 Sep 2009 18:59:54 GMT</ExpirationTime>
<DequeueCount>1</DequeueCount>
<MessageText>PHRlc3Q+dGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvdGVzdD4=</MessageText>
</QueueMessage>
</QueueMessagesList>
Autoryzacja
Ta operacja może być wykonywana przez właściciela konta i przez każdego, kto ma sygnaturę dostępu współdzielonego, który ma uprawnienia do wykonania tej operacji.
Uwagi
Po pobraniu komunikatu z kolejki z ustawioną peekonly
wartością true
, widoczność komunikatu jest niezmieniona. Komunikat pozostaje dostępny dla innych użytkowników kolejki, dopóki klient nie pobierze komunikatu przy użyciu operacji Pobierz komunikaty . Klient, który żąda komunikatu, nie otrzymuje potwierdzenia pop z odpowiedzią i dlatego nie może usunąć komunikatu.
Za pomocą Peek Messages
operacji można pobrać tylko komunikaty widoczne. Należy pamiętać, że maksymalna liczba komunikatów, które można pobrać, wynosi 32.
Gdy komunikat zostanie pobrany po raz pierwszy z wywołaniem metody Get Messages
, jej DequeueCount
właściwość jest ustawiona na 1. Jeśli nie zostanie usunięta i zostanie pobrana ponownie, DequeueCount
właściwość jest zwiększana. Klient może użyć tej wartości, aby określić, ile razy został pobrany komunikat.
Uwaga
Wywołanie metody Peek Messages
nie zwiększa wartości elementu DequeueCount
, ale zwraca tę wartość dla klienta do odczytu.
Jeśli parametr numofmessages jest poza zakresem, usługa zwraca kod stanu 400 (nieprawidłowe żądanie) wraz z dodatkowymi informacjami o błędzie, jak pokazano w poniższym przykładzie:
HTTP/1.1 400 One of the query parameters specified in the request URI is outside the permissible range.
Connection: Keep-Alive
Content-Length: 455
Via: 1.1 TK5-PRXY-22
Date: Wed, 02 May 2012 19:37:23 GMT
Content-Type: application/xml
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 6a03526c-ca2c-4358-a63a-b5d096988533
x-ms-version: 2011-08-18
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>OutOfRangeQueryParameterValue</Code>
<Message>One of the query parameters specified in the request URI is outside the permissible range.
RequestId:6a03526c-ca2c-4358-a63a-b5d096988533
Time:2012-05-02T19:37:24.2438463Z
</Message>
<QueryParameterName>numofmessages</QueryParameterName>
<QueryParameterValue>0</QueryParameterValue>
<MinimumAllowed>1</MinimumAllowed>
<MaximumAllowed>32</MaximumAllowed>
</Error>
Zobacz też
Autoryzowanie żądań do usługi Azure Storage
Kody stanu i błędów
Kody błędów usługi kolejki