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
ofUpdate 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 andereGet 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