Aktualizacja wiadomości
Operacja Update Message
aktualizuje limit czasu widoczności komunikatu. Możesz również użyć tej operacji, aby zaktualizować zawartość komunikatu. Komunikat musi być w formacie, który może być uwzględniony w żądaniu XML z kodowaniem UTF-8, a zakodowany komunikat może mieć rozmiar do 64 KB. Ta operacja została wprowadzona w wersji 2011-08-18 interfejsu API usługi Azure Queue Storage.
Żądanie
Żądanie można skonstruować Update Message
w następujący sposób. Zalecane jest użycie protokołu HTTPS. Zastąp ciąg myaccount nazwą konta magazynu i ciągiem myqueue nazwą kolejki.
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Emulowana usługa magazynu
Ta operacja jest obsługiwana w przypadku zestawów SDK 1.6 i nowszych.
Po wysłaniu żądania względem emulowanej usługi magazynu określ nazwę hosta emulatora i port usługi Queue Storage jako 127.0.0.1:10001
, a następnie nazwę emulowanego konta magazynu.
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Parametry identyfikatora URI
Dla identyfikatora URI żądania można określić następujące parametry.
Parametr | Opis |
---|---|
popreceipt |
Wymagane. Określa prawidłową wartość potwierdzenia wyskakującego zwróconą z wcześniejszego wywołania operacji Pobieranie komunikatów lub Aktualizowanie komunikatów . Element popreceipt musi być zakodowany pod adresem URL. |
visibilitytimeout |
Wymagane. Określa nową wartość limitu czasu widoczności w sekundach względem czasu serwera. Nowa wartość musi być większa lub równa 0 i nie może być większa niż 7 dni. Limit czasu widoczności komunikatu nie może być ustawiony na wartość później niż czas wygaśnięcia. Komunikat można zaktualizować do momentu jego usunięcia lub wygaśnięcia. |
timeout |
Opcjonalny. Parametr jest wyrażony timeout w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi Queue Storage. |
Nagłówki żądań
W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.
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 or 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 |
Wymaga wersji 2011-08-18 lub nowszej. 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
Treść żądania zawiera dane komunikatu w następującym formacie XML. Należy pamiętać, że zawartość komunikatu musi być w formacie, który może być zakodowany przy użyciu protokołu UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Reakcja
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.
Kod stanu
Operacja zakończona powodzeniem zwraca kod stanu 204 (Brak zawartości). Aby uzyskać informacje o kodach stanu, zobacz Stan i kody 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 nagłówki standardowe są zgodne ze specyfikacją protokołu HTTP/1.1.
Nagłówek żądania | Opis |
---|---|
x-ms-request-id |
Ten nagłówek jednoznacznie identyfikuje wykonane żądanie i może sł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 |
Wskazuje wersję usługi Queue Storage używaną do uruchomienia żądania. Ten nagłówek jest zwracany dla żądań wysyłanych w wersji 2009-09-19 lub nowszej. |
Date |
Wartość daty/godziny UTC wskazująca godzinę, w której zainicjowano odpowiedź. Usługa generuje tę wartość. |
x-ms-popreceipt |
Potwierdzenie wyskakujące komunikatu kolejki. |
x-ms-time-next-visible |
Wartość daty/godziny UTC reprezentująca, kiedy komunikat będzie widoczny w kolejce. |
x-ms-client-request-id |
Ten nagłówek 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 jest obecna w żądaniu. Wartość wynosi co najwyżej 1024 widoczne znaki ASCII.
x-ms-client-request-id Jeśli nagłówek nie znajduje się w żądaniu, ten nagłówek nie będzie obecny w odpowiedzi. |
Treść odpowiedzi
Brak.
Autoryzacja
Właściciel konta może wykonać tę operację. Ponadto każda osoba z sygnaturą dostępu współdzielonego, która ma uprawnienia do wykonania tej operacji, może to zrobić.
Przykładowe żądanie i odpowiedź
Następujące żądanie rozszerza widoczność komunikatu kolejki o 30 sekund i aktualizuje jego zawartość.
PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1
Żądanie jest wysyłane z następującymi nagłówkami:
x-ms-version: 2011-08-18
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=
Content-Length: 75
Żądanie jest wysyłane z następującą treścią XML:
<QueueMessage>
<MessageText>new-message-content</MessageText>
</QueueMessage>
Po wysłaniu żądania zostanie zwrócona następująca odpowiedź:
HTTP/1.1 204 No Content
Content-Length: 0
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: df34a7dd-3cbe-4206-a586-d6de3cf225a7
x-ms-version: 2011-08-18
x-ms-popreceipt: AwAAAAIAAAApAAAAINtMQ29bzAEBAAAA
x-ms-time-next-visible: Mon, 29 Aug 2011 17:17:51 GMT
Date: Mon, 29 Aug 2011 17:17:21 GMT
Uwagi
Operacja Update Message
kończy się niepowodzeniem, jeśli określony komunikat nie istnieje w kolejce lub jeśli określone potwierdzenie wyskakujące nie jest zgodne z komunikatem.
Potwierdzenie wyskakujące jest zwracane przez operację Get Messages
lub operację Update Message
. Potwierdzenia wyskakujące pozostają prawidłowe do momentu wystąpienia jednego z następujących zdarzeń:
Komunikat wygasł.
Wiadomość została usunięta przy użyciu ostatniego odebranego potwierdzenia wyskakującego, od
Get Messages
lubUpdate Message
.Upłynął czas widoczności, a komunikat został usunięty z kolejki przez
Get Messages
żądanie. Gdy upłynie czas widoczności, komunikat będzie ponownie widoczny. Jeśli jest pobierany przez inneGet Messages
żądanie, zwrócone potwierdzenie wyskakujące może służyć do usunięcia lub zaktualizowania komunikatu.Komunikat został zaktualizowany o nowy limit czasu widoczności. Po zaktualizowaniu wiadomości zostanie zwrócone nowe potwierdzenie wyskakujące.
Za pomocą Update Message
operacji można stale rozszerzać widoczność komunikatu w kolejce. Ta funkcja może być przydatna, jeśli chcesz, aby rola procesu roboczego dzierżawiła komunikat w kolejce. Jeśli na przykład rola procesu roboczego wywołuje funkcję Pobierz komunikaty i rozpoznaje, że potrzebuje więcej czasu na przetworzenie komunikatu, może stale rozszerzać widoczność komunikatu do momentu jego przetworzenia. Jeśli rola procesu roboczego zakończy się niepowodzeniem podczas przetwarzania, w końcu komunikat stanie się ponownie widoczny, a inna rola procesu roboczego może ją przetworzyć.
Zobacz też
Autoryzowanie żądań do usługi Azure Storage
Kody stanu i błędów
Kody błędów usługi Queue Storage