Aktualizace zprávy
Operace Update Message
aktualizuje časový limit viditelnosti zprávy. Tuto operaci můžete použít také k aktualizaci obsahu zprávy. Zpráva musí být ve formátu, který lze zahrnout do požadavku XML s kódováním UTF-8, a zakódovaná zpráva může mít velikost až 64 kB. Tato operace byla představena ve verzi 2011-08-18 rozhraní API služby Azure Queue Storage.
Žádost
Požadavek můžete sestavit Update Message
následujícím způsobem. Doporučuje se https. Nahraďte myaccount názvem vašeho účtu úložiště a myqueue názvem vaší fronty.
Metoda | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Služba emulovaného úložiště
Tato operace se podporuje v sadě SDK 1.6 a novějších verzích.
Když vytvoříte požadavek na službu emulovaného úložiště, zadejte název hostitele emulátoru a port Queue Storage jako 127.0.0.1:10001
, následovaný názvem emulovaného účtu úložiště.
Metoda | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Parametry identifikátoru URI
V identifikátoru URI požadavku můžete zadat následující parametry.
Parametr | Popis |
---|---|
popreceipt |
Povinná hodnota. Určuje platnou hodnotu pop receipt vrácenou z dřívějšího volání operací Získat zprávy nebo Aktualizovat zprávu . Musí popreceipt být zakódovaná adresa URL. |
visibilitytimeout |
Povinná hodnota. Určuje novou hodnotu časového limitu viditelnosti v sekundách vzhledem k času serveru. Nová hodnota musí být větší nebo rovna 0 a nesmí být větší než 7 dnů. Časový limit viditelnosti zprávy nelze nastavit na hodnotu pozdější než čas vypršení platnosti. Zprávu můžete aktualizovat, dokud nebude odstraněna nebo nevypršela jeho platnost. |
timeout |
Nepovinný parametr. Parametr se timeout vyjadřuje v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace Queue Storage. |
Hlavičky požadavku
Následující tabulka popisuje požadované a volitelné hlavičky požadavků.
Hlavička požadavku | Popis |
---|---|
Authorization |
Povinná hodnota. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků do služby Azure Storage. |
Date or x-ms-date |
Povinná hodnota. Určuje formát UTC (Coordinated Universal Time). Další informace najdete v tématu Autorizace požadavků do služby Azure Storage. |
x-ms-version |
Vyžaduje 2011-08-18 nebo novější. Určuje verzi operace, která se má pro tento požadavek použít. Další informace najdete v tématu Správa verzí pro služby Azure Storage. |
x-ms-client-request-id |
Nepovinný parametr. Poskytuje klientem vygenerovanou neprůselnou hodnotu s limitem počtu znaků 1 kibibajt (KiB), který je zaznamenán v protokolech při konfiguraci protokolování. Důrazně doporučujeme použít tuto hlavičku ke korelaci aktivit na straně klienta s požadavky, které server přijímá. Další informace najdete v tématu Monitorování služby Azure Queue Storage. |
Text požadavku
Text požadavku obsahuje data zprávy v následujícím formátu XML. Všimněte si, že obsah zprávy musí být ve formátu, který lze zakódovat pomocí UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Odpověď
Odpověď obsahuje stavový kód HTTP a sadu hlaviček odpovědi.
Stavový kód
Úspěšná operace vrátí stavový kód 204 (bez obsahu). Informace o stavových kódech najdete v tématu Stavové kódy a kódy chyb.
Hlavičky odpovědi
Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může také obsahovat další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
Hlavička požadavku | Popis |
---|---|
x-ms-request-id |
Tato hlavička jednoznačně identifikuje požadavek, který byl proveden, a lze ji použít k řešení potíží s požadavkem. Další informace najdete v tématu Řešení potíží s operacemi rozhraní API. |
x-ms-version |
Označuje verzi služby Queue Storage použitou ke spuštění požadavku. Tato hlavička se vrátí pro požadavky provedené proti verzi 2009-09-19 a novější. |
Date |
Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Tato služba vygeneruje tuto hodnotu. |
x-ms-popreceipt |
Pop příjem zprávy fronty. |
x-ms-time-next-visible |
Hodnota data a času UTC, která představuje, kdy bude zpráva viditelná ve frontě. |
x-ms-client-request-id |
Tuto hlavičku můžete použít k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě x-ms-client-request-id hlavičky, pokud se nachází v požadavku. Hodnota je maximálně 1 024 viditelných znaků ASCII. Pokud se hlavička x-ms-client-request-id v požadavku nenachází, nebude tato hlavička v odpovědi. |
Text odpovědi
Žádné
Autorizace
Tuto operaci může provést vlastník účtu. Navíc to může udělat každý se sdíleným přístupovým podpisem, který má oprávnění k provedení této operace.
Ukázkový požadavek a odpověď
Následující požadavek rozšiřuje viditelnost zprávy fronty o 30 sekund a aktualizuje její obsah.
PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1
Požadavek se odešle s následujícími hlavičkami:
x-ms-version: 2011-08-18
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=
Content-Length: 75
Požadavek se odešle s následujícím textem XML:
<QueueMessage>
<MessageText>new-message-content</MessageText>
</QueueMessage>
Po odeslání požadavku se vrátí následující odpověď:
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
Poznámky
Operace Update Message
selže, pokud zadaná zpráva ve frontě neexistuje nebo pokud zadané potvrzení pop zprávy neodpovídá této zprávě.
Operace nebo operace vrátí Get Messages
potvrzení pop.Update Message
Potvrzení pop zůstávají platná, dokud nedojde k některé z následujících událostí:
Platnost zprávy vypršela.
Zpráva byla odstraněna pomocí posledního pop potvrzení přijatého buď od
Get Messages
Update Message
nebo .Uplynula doba neviditelnosti a požadavek zprávu vyřadit z fronty
Get Messages
. Po uplynutí doby neviditelnosti se zpráva znovu zobrazí. Pokud ho načte jinýGet Messages
požadavek, můžete vrácené pop potvrzení použít k odstranění nebo aktualizaci zprávy.Zpráva byla aktualizována o nový časový limit viditelnosti. Po aktualizaci zprávy se vrátí nové pop potvrzení.
Operaci můžete použít Update Message
k neustálému rozšiřování neviditelnosti zprávy ve frontě. Tato funkce může být užitečná, pokud chcete, aby role pracovního procesu zapůjčení zprávy fronty. Pokud například role pracovního procesu volá funkci Získat zprávy a rozpozná, že ke zpracování zprávy potřebuje více času, může nepřetržitě rozšiřovat neviditelnost zprávy, dokud se nezpracuje. Pokud by během zpracování došlo k selhání role pracovního procesu, zpráva by se nakonec znovu zobrazila a mohla by ji zpracovat jiná role pracovního procesu.
Viz také
Autorizace požadavků do Služby Azure Storage
Stavové kódy a kódy chyb
Kódy chyb queue Storage