Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato Update Message operace aktualizuje časový limit viditelnosti zprávy. Tuto operaci můžete také použít 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 zavedena ve verzi 2011-08-18 rozhraní API služby Azure Queue Storage.
Žádost
Požadavek můžete vytvořit Update Message následujícím způsobem. Doporučuje se protokol HTTPS. Nahraďte myaccount názvem vašeho účtu úložiště a myqueue názvem vaší fronty.
| Metoda | Požadavek na URI | Verze protokolu HTTP |
|---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
Protokol HTTP/1.1 |
Emulovaná služba úložiště
Tato operace je podporována pro sadu SDK 1.6 a novější verze.
Když vytvoříte požadavek na službu emulovaného úložiště, zadejte název hostitele emulátoru a port služby Queue Storage jako 127.0.0.1:10001, následovaný názvem emulovaného účtu úložiště.
| Metoda | Požadavek na URI | Verze protokolu HTTP |
|---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
Protokol HTTP/1.1 |
Parametry identifikátoru URI
V identifikátoru URI požadavku můžete zadat následující parametry.
| Parameter | Description |
|---|---|
popreceipt |
Povinné. Určuje platnou hodnotu poppotvrzení vrácenou z dřívějšího volání operací Získat zprávy nebo Aktualizovat zprávu . Musí popreceipt být zakódován URL. |
visibilitytimeout |
Povinné. 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ž je čas vypršení platnosti. Zprávu můžete aktualizovat, dokud nebude odstraněna nebo dokud nevyprší. |
timeout |
Optional. Parametr timeout je vyjádřen v sekundách. Další informace naleznete v tématu Nastavení časových limitů pro operace služby Queue Storage. |
Hlavičky žádosti
Následující tabulka popisuje povinné a volitelné hlavičky požadavků.
| Hlavička požadavku | Description |
|---|---|
Authorization |
Povinné. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků na Azure Storage. |
Date
or x-ms-date
|
Povinné. Určuje koordinovaný světový čas (UTC) pro požadavek. Další informace najdete v tématu Autorizace požadavků na Azure Storage. |
x-ms-version |
Vyžaduje 2011-08-18 nebo novější. Určuje verzi operace, která má být použita pro tento požadavek. Další informace najdete v tématu Správa verzí pro služby Azure Storage. |
x-ms-client-request-id |
Optional. Poskytuje klientem generovanou, neprůhlednou hodnotu s limitem znaků 1 kibibajt (KiB), který se zaznamenává do protokolů 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. |
Obsah požadavku
Tělo 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 kódovat pomocí UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Odezva
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 naleznete v části 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 | Description |
|---|---|
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 naleznete 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 vrací pro požadavky odeslané ve verzi 2009-09-19 a novější. |
Date |
Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Služba tuto hodnotu vygeneruje. |
x-ms-popreceipt |
Automaticky přijaté přijetí 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ě hlavičky x-ms-client-request-id , pokud je v požadavku přítomna. Hodnota je maximálně 1 024 viditelných znaků ASCII. Pokud hlavička x-ms-client-request-id v požadavku není, nebude tato hlavička v odpovědi k dispozici. |
Obsah odpovědi
Žádné.
Authorization
Tuto operaci může provést vlastník účtu. Kromě toho to může udělat kdokoli 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 prodlužuje viditelnost zprávy ve frontě 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 je odeslán 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 je vrácena 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 se nezdaří, pokud zadaná zpráva ve frontě neexistuje nebo pokud zadaná účtenka neodpovídá zprávě.
Účtenka POP je vrácena Get Messages operací nebo operací Update Message . Účtenky POP zůstávají v platnosti, dokud nenastane jedna z následujících událostí:
Platnost zprávy vypršela.
Zpráva byla odstraněna pomocí posledního přijatého potvrzení pop, a to buď od nebo
Get MessagesUpdate Message.Uplynula doba neviditelnosti a zpráva byla vyřazena z fronty
Get Messagesna základě požadavku. Po uplynutí doby neviditelnosti se zpráva opět zobrazí. Pokud je zpráva načtena jinýmGet Messagespožadavkem, lze vrácené potvrzení POP použít k odstranění nebo aktualizaci zprávy.Zpráva byla aktualizována o nový časový limit viditelnosti. Po aktualizaci zprávy bude vrácena nová účtenka POP.
Tuto operaci můžete použít Update Message k průběžnému rozšiřování neviditelnosti zprávy fronty. Tato funkce může být užitečná, pokud chcete, aby role pracovního procesu zapůjčila zprávu fronty. Pokud například role pracovního procesu volá Get Messages a rozpozná, že potřebuje více času na zpracování zprávy, může průběžně prodlužovat neviditelnost zprávy, dokud nebude zpracována. Pokud by role pracovního procesu během zpracování selhala, zpráva by se nakonec znovu stala viditelnou a mohla by ji zpracovat jiná role pracovního procesu.
Zpráva musí být ve formátu, který lze zahrnout do požadavku XML s kódováním UTF-8. Aby bylo možné do zprávy zahrnout kódování, musí být obsah zprávy v kódování Base64. Jakýkoli kód XML ve zprávě, který není zakódovaný, způsobí, že zpráva bude neplatná. Pokud je ve zprávě zahrnut neplatný znak (například 0x1F), i když je to escapovaný znak XML, následné čtení zprávy nebude úspěšné.
Pokud je zpráva příliš velká, služba vrátí stavový kód 400 (Chybný požadavek).
Viz také
Autorizace požadavků na Azure Storage
Kódy stavu a chyb
Kódy chyb služby Queue Storage