Bericht bijwerken

De Update Message bewerking werkt de time-out voor zichtbaarheid van een bericht bij. U kunt deze bewerking ook gebruiken om de inhoud van een bericht bij te werken. Een bericht moet een indeling hebben die kan worden opgenomen in een XML-aanvraag met UTF-8-codering en het gecodeerde bericht kan maximaal 64 kB groot zijn. Deze bewerking is geïntroduceerd met versie 2011-08-18 van de Azure Queue Storage-API.

Aanvraag

U kunt de Update Message aanvraag als volgt samenstellen. HTTPS wordt aanbevolen. Vervang myaccount door de naam van uw opslagaccount en myqueue door de naam van uw wachtrij.

Methode Aanvraag-URI HTTP-versie
PUT https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> HTTP/1.1

Geëmuleerde opslagservice

Deze bewerking wordt ondersteund voor SDK 1.6 en latere versies.

Wanneer u een aanvraag doet voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en queue storage-poort op als 127.0.0.1:10001, gevolgd door de naam van het geëmuleerde opslagaccount.

Methode Aanvraag-URI HTTP-versie
PUT http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> HTTP/1.1

URI-parameters

U kunt de volgende parameters opgeven voor de aanvraag-URI.

Parameter Beschrijving
popreceipt Vereist. Hiermee geeft u de geldige pop-ontvangstbevestigingswaarde op die is geretourneerd na een eerdere aanroep naar de bewerkingEn Berichten ophalen of Bericht bijwerken . De popreceipt moet URL-gecodeerd zijn.
visibilitytimeout Vereist. Hiermee geeft u de nieuwe time-outwaarde voor zichtbaarheid, in seconden, ten opzichte van de servertijd. De nieuwe waarde moet groter zijn dan of gelijk aan 0 en mag niet langer zijn dan 7 dagen. De time-out voor zichtbaarheid van een bericht kan niet worden ingesteld op een waarde die later is dan de verlooptijd. U kunt een bericht bijwerken totdat het is verwijderd of is verlopen.
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor Queue Storage-bewerkingen voor meer informatie.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven.

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date or x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Vereist 2011-08-18 of hoger. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Azure Queue Storage bewaken voor meer informatie.

Aanvraagbody

De hoofdtekst van de aanvraag bevat de berichtgegevens in de volgende XML-indeling. Houd er rekening mee dat de berichtinhoud een indeling moet hebben die kan worden gecodeerd met UTF-8.

<QueueMessage>  
    <MessageText>message-content</MessageText>  
</QueueMessage>  

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.

Statuscode

Een geslaagde bewerking retourneert statuscode 204 (Geen inhoud). Zie Status- en foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra, standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Aanvraagheader Beschrijving
x-ms-request-id Deze header identificeert op unieke wijze de aanvraag die is gedaan en kan worden gebruikt voor het oplossen van problemen met de aanvraag. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version Geeft de versie van Queue Storage aan die wordt gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen die zijn gedaan in versie 2009-09-19 en hoger.
Date Een UTC-datum/tijd-waarde die de tijd aangeeft waarop het antwoord is gestart. De service genereert deze waarde.
x-ms-popreceipt De pop-ontvangst van het wachtrijbericht.
x-ms-time-next-visible Een UTC-datum/tijd-waarde die aangeeft wanneer het bericht zichtbaar is in de wachtrij.
x-ms-client-request-id U kunt deze header gebruiken om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header, als deze aanwezig is in de aanvraag. De waarde is maximaal 1024 zichtbare ASCII-tekens. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze header niet aanwezig in het antwoord.

Hoofdtekst van de reactie

Geen.

Autorisatie

De accounteigenaar kan deze bewerking uitvoeren. Bovendien kan iedereen met een shared access signature die gemachtigd is om deze bewerking uit te voeren, dit doen.

Voorbeeld van aanvraag en antwoord

De volgende aanvraag breidt de zichtbaarheid van een wachtrijbericht met 30 seconden uit en werkt de inhoud ervan bij.

PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1  
  

De aanvraag wordt verzonden met de volgende headers:

x-ms-version: 2011-08-18  
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT  
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=  
Content-Length: 75  

De aanvraag wordt verzonden met de volgende XML-hoofdtekst:

<QueueMessage>  
    <MessageText>new-message-content</MessageText>  
</QueueMessage>  

Nadat de aanvraag is verzonden, wordt het volgende antwoord geretourneerd:

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  

Opmerkingen

Een Update Message bewerking mislukt als het opgegeven bericht niet in de wachtrij staat of als de opgegeven pop-ontvangstbevestiging niet overeenkomt met het bericht.

Een pop-ontvangstbewijs wordt geretourneerd door de Get Messages bewerking of de Update Message bewerking. Pop-ontvangstbevestigingen blijven geldig totdat een van de volgende gebeurtenissen plaatsvindt:

  • Het bericht is verlopen.

  • Het bericht is verwijderd met behulp van de laatste pop-ontvangstbevestiging die is ontvangen van Get Messages of Update Message.

  • De onzichtbaarheidstijd is verstreken en het bericht is verwijderd door een Get Messages aanvraag. Wanneer de onzichtbaarheidstijd is verstreken, wordt het bericht weer zichtbaar. Als het wordt opgehaald door een andere Get Messages aanvraag, kan het geretourneerde pop-ontvangstbewijs worden gebruikt om het bericht te verwijderen of bij te werken.

  • Het bericht is bijgewerkt met een nieuwe zichtbaarheidstime-out. Wanneer het bericht wordt bijgewerkt, wordt er een nieuw pop-ontvangstbewijs geretourneerd.

U kunt de Update Message bewerking gebruiken om de onzichtbaarheid van een wachtrijbericht voortdurend uit te breiden. Deze functionaliteit kan handig zijn als u wilt dat een werkrol een wachtrijbericht leaset. Als een werkrol bijvoorbeeld Berichten ophalen aanroept en herkent dat er meer tijd nodig is om een bericht te verwerken, kan het de onzichtbaarheid van het bericht voortdurend uitbreiden totdat het wordt verwerkt. Als de werkrol mislukt tijdens de verwerking, wordt het bericht uiteindelijk weer zichtbaar en kan een andere werkrol het verwerken.

Zie ook

Aanvragen autoriseren voor Azure Storage
Status en foutcodes
Queue Storage-foutcodes