Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Operacja Update Message aktualizuje limit czasu widoczności komunikatu. Za pomocą tej operacji można również zaktualizować zawartość wiadomości. Wiadomość musi być w formacie, który może być dołączony do żądania XML z kodowaniem UTF-8, a zakodowana wiadomość 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. Zalecany jest protokół HTTPS. Zastąp ciąg myaccount nazwą konta magazynu, a myqueue nazwą kolejki.
| Metoda | Żądanie URI | 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 pamięci masowej
Ta operacja jest obsługiwana w przypadku zestawu SDK 1.6 i nowszych wersji.
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 | Żądanie URI | 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
W identyfikatorze URI żądania można określić następujące parametry.
| Parameter | Description |
|---|---|
popreceipt |
To jest wymagane. Określa prawidłową wartość potwierdzenia wyskakującego zwróconą z wcześniejszego wywołania operacji Pobierz komunikaty lub Aktualizuj komunikat . Musi popreceipt być zakodowany w adresie URL. |
visibilitytimeout |
To jest wymagane. Określa nową wartość limitu czasu widoczności (w sekundach) w stosunku do czasu serwera. Nowa wartość musi być większa lub równa 0 i nie może być większa niż 7 dni. Nie można ustawić limitu czasu widoczności komunikatu na wartość późniejszą niż czas wygaśnięcia. Wiadomość można aktualizować do momentu jej usunięcia lub wygaśnięcia. |
timeout |
Opcjonalny. Parametr timeout jest wyrażony w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi Queue Storage. |
Nagłówki zapytań
W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.
| Nagłówek żądania | Description |
|---|---|
Authorization |
To jest 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
|
To jest wymagane. Określa uniwersalny czas koordynowany (UTC) dla żądania. 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, która ma być używana dla tego żądania. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji usług Azure Storage. |
x-ms-client-request-id |
Opcjonalny. Udostępnia wygenerowaną przez klienta, nieprzezroczystą wartość z limitem znaków 1 kibibajta (KiB), który jest rejestrowany w dziennikach po skonfigurowaniu 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. |
Ciało żądania
Treść żądania zawiera dane komunikatu w następującym formacie XML. Należy pamiętać, że treść wiadomości musi być w formacie, który można zakodować za pomocą UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Odpowiedź
Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.
Kod stanu
Pomyślna operacja zwraca kod stanu 204 (Brak zawartości). Aby uzyskać informacje o kodach stanu, zobacz 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 żądania | Description |
|---|---|
x-ms-request-id |
Ten nagłówek jednoznacznie identyfikuje wysłane żądanie i może być używany 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 dla wersji 2009-09-19 i nowszych. |
Date |
Wartość daty/godziny UTC wskazująca godzinę zainicjowania odpowiedzi. Usługa generuje tę wartość. |
x-ms-popreceipt |
Potwierdzenie wyskakujące komunikatu w kolejce. |
x-ms-time-next-visible |
Wartość daty/godziny UTC określająca, kiedy komunikat będzie widoczny w kolejce. |
x-ms-client-request-id |
Za pomocą tego nagłówka można rozwiązywać problemy z żądaniami i odpowiadającymi im odpowiedziami. Wartość tego nagłówka jest równa wartości nagłówka x-ms-client-request-id , jeśli jest obecny w żądaniu. Wartość to co najwyżej 1 024 widoczne znaki ASCII.
x-ms-client-request-id Jeśli nagłówek nie jest obecny w żądaniu, ten nagłówek nie będzie obecny w odpowiedzi. |
Ciało odpowiedzi
Żaden.
Authorization
Właściciel konta może wykonać tę operację. Ponadto każda osoba z sygnaturą dostępu współdzielonego i ma uprawnienia do wykonania tej operacji, może to zrobić.
Przykładowe żądanie i odpowiedź
Następujące żądanie wydłuża widoczność komunikatu w kolejce 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 zwracana jest 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 kończy się niepowodzeniem Update Message , jeśli określony komunikat nie istnieje w kolejce lub jeśli określone pokwitowanie wyskakujące nie jest zgodne z komunikatem.
Pokwitowanie pop-mail jest zwracane przez operację Get Messages lub Update Message operację. Potwierdzenia POP zachowują ważność do momentu wystąpienia jednego z następujących zdarzeń:
Wiadomość wygasła.
Wiadomość została usunięta przy użyciu ostatniego otrzymanego potwierdzenia wyskakującego, z lub
Get MessagesUpdate Message.Upłynął czas niewidoczności, a wiadomość została usunięta z kolejki przez żądanie
Get Messages. Po upływie czasu niewidoczności wiadomość staje się ponownie widoczna. Jeśli wiadomość zostanie pobrana przez inneGet Messagesżądanie, zwrócone potwierdzenie wyskakujące może zostać użyte do usunięcia lub zaktualizowania wiadomości.Wiadomość została zaktualizowana o nowy limit czasu widoczności. Po zaktualizowaniu wiadomości zostanie zwrócone nowe potwierdzenie wyskakujące.
Za pomocą tej Update Message operacji można stale wydłużać niewidoczność komunikatu w kolejce. Ta funkcja może być przydatna, jeśli chcesz, aby rola procesu roboczego dzierżawiła wiadomość w kolejce. Na przykład, jeśli rola procesu roboczego wywołuje funkcję Pobierz wiadomości i rozpoznaje, że potrzebuje więcej czasu na przetworzenie wiadomości, może stale przedłużać niewidoczność wiadomości do momentu jej przetworzenia. Jeśli rola procesu roboczego zakończy się niepowodzeniem podczas przetwarzania, w końcu wiadomość stanie się ponownie widoczna, a inna rola procesu roboczego może ją przetworzyć.
Wiadomość musi być w formacie, który może być dołączony do żądania XML z kodowaniem UTF-8. Aby uwzględnić znaczniki w wiadomości, zawartość wiadomości musi być zakodowana w formacie Base64. Wszelkie znaczniki XML w wiadomości, które nie są zakodowane, spowodują, że wiadomość będzie nieprawidłowa. Jeśli w wiadomości znajduje się nieprawidłowy znak (na przykład 0x1F), nawet jeśli jest on zmieniony w formacie XML, kolejne odczyty wiadomości nie zakończą się pomyślnie.
Jeśli wiadomość jest zbyt duża, usługa zwraca kod stanu 400 (Nieprawidłowe żądanie).
Zobacz także
Autoryzowanie żądań do usługi Azure Storage
kody stanu i błędów
Kody błędów usługi Queue Storage