Uppdatera meddelande
Åtgärden Update Message
uppdaterar synlighetstimeouten för ett meddelande. Du kan också använda den här åtgärden för att uppdatera innehållet i ett meddelande. Ett meddelande måste vara i ett format som kan ingå i en XML-begäran med UTF-8-kodning, och det kodade meddelandet kan vara upp till 64 kB stort. Den här åtgärden introducerades med version 2011-08-18 av Azure Queue Storage-API:et.
Förfrågan
Du kan skapa begäran på Update Message
följande sätt. HTTPS rekommenderas. Ersätt myaccount med namnet på ditt lagringskonto och myqueue med namnet på kön.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
Emulerad lagringstjänst
Den här åtgärden stöds för SDK 1.6 och senare versioner.
När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och Queue Storage-porten som 127.0.0.1:10001
, följt av namnet på det emulerade lagringskontot.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> |
HTTP/1.1 |
URI-parametrar
Du kan ange följande parametrar för begärande-URI:n.
Parameter | Beskrivning |
---|---|
popreceipt |
Krävs. Anger det giltiga popkvittovärdet som returnerades från ett tidigare anrop till åtgärderna Hämta meddelanden eller Uppdatera meddelande .
popreceipt Måste vara URL-kodad. |
visibilitytimeout |
Krävs. Anger det nya tidsgränsvärdet för synlighet i sekunder i förhållande till servertiden. Det nya värdet måste vara större än eller lika med 0 och får inte vara större än 7 dagar. Tidsgränsen för synlighet för ett meddelande kan inte anges till ett värde senare än förfallotiden. Du kan uppdatera ett meddelande tills det har tagits bort eller har upphört att gälla. |
timeout |
Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för kölagringsåtgärder. |
Begärandehuvuden
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.
Begärandehuvud | Beskrivning |
---|---|
Authorization |
Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. |
Date or x-ms-date |
Krävs. Anger Coordinated Universal Time (UTC) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. |
x-ms-version |
Kräver 2011-08-18 eller senare. Anger vilken version av åtgärden som ska användas för den här begäran. Mer information finns i Versionshantering för Azure Storage-tjänsterna. |
x-ms-client-request-id |
Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggningen har konfigurerats. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. Mer information finns i Övervaka Azure Queue Storage. |
Begärandetext
Brödtexten i begäran innehåller meddelandedata i följande XML-format. Observera att meddelandeinnehållet måste vara i ett format som kan kodas med UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Svarsåtgärder
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Statuskod
En lyckad åtgärd returnerar statuskoden 204 (inget innehåll). Information om statuskoder finns i Status och felkoder.
Svarshuvuden
Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Begärandehuvud | Beskrivning |
---|---|
x-ms-request-id |
Det här huvudet identifierar unikt den begäran som gjordes och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder. |
x-ms-version |
Anger vilken version av Queue Storage som används för att köra begäran. Det här huvudet returneras för begäranden mot version 2009-09-19 och senare. |
Date |
Ett UTC-datum/tid-värde som anger den tid då svaret initierades. Tjänsten genererar det här värdet. |
x-ms-popreceipt |
Popkvittot för kömeddelandet. |
x-ms-time-next-visible |
Ett UTC-datum/tid-värde som representerar när meddelandet visas i kön. |
x-ms-client-request-id |
Du kan använda det här huvudet för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet för x-ms-client-request-id huvudet, om det finns i begäran. Värdet är högst 1 024 synliga ASCII-tecken.
x-ms-client-request-id Om rubriken inte finns i begäran visas inte det här huvudet i svaret. |
Själva svaret
Inga.
Auktorisering
Kontoägaren kan utföra den här åtgärden. Dessutom kan alla med en signatur för delad åtkomst som har behörighet att utföra den här åtgärden göra det.
Exempel på begäran och svar
Följande begäran utökar synligheten för ett kömeddelande med 30 sekunder och uppdaterar dess innehåll.
PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1
Begäran skickas med följande rubriker:
x-ms-version: 2011-08-18
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=
Content-Length: 75
Begäran skickas med följande XML-brödtext:
<QueueMessage>
<MessageText>new-message-content</MessageText>
</QueueMessage>
När begäran har skickats returneras följande svar:
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
Kommentarer
En Update Message
åtgärd misslyckas om det angivna meddelandet inte finns i kön eller om det angivna popkvittot inte matchar meddelandet.
Ett popkvitto returneras av Get Messages
åtgärden eller åtgärden Update Message
. Popkvitton förblir giltiga tills någon av följande händelser inträffar:
Meddelandet har upphört att gälla.
Meddelandet har tagits bort med hjälp av det senaste popkvittot som togs emot, antingen från
Get Messages
ellerUpdate Message
.Osynlighetstiden har förflutit och meddelandet har ignorerats av en
Get Messages
begäran. När osynlighetstiden förflutit blir meddelandet synligt igen. Om det hämtas av en annanGet Messages
begäran kan det returnerade popkvittot användas för att ta bort eller uppdatera meddelandet.Meddelandet har uppdaterats med en ny tidsgräns för synlighet. När meddelandet uppdateras returneras ett nytt popkvitto.
Du kan använda åtgärden Update Message
för att kontinuerligt utöka osynligheten för ett kömeddelande. Den här funktionen kan vara användbar om du vill att en arbetsroll ska leasa ett kömeddelande. Om en arbetsroll till exempel anropar Hämta meddelanden och inser att den behöver mer tid för att bearbeta ett meddelande kan den kontinuerligt utöka meddelandets osynlighet tills det bearbetas. Om arbetsrollen skulle misslyckas under bearbetningen skulle meddelandet så småningom bli synligt igen och en annan arbetsroll skulle kunna bearbeta det.
Se även
Auktorisera begäranden till Azure Storage
Status- och felkoder
Kölagringsfelkoder