Sdílet prostřednictvím


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 MessagesUpdate Messagenebo .

  • 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