Dela via


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 eller Update 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 annan Get 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