Bericht plaatsen
Met de Put Message
bewerking wordt een nieuw bericht toegevoegd aan de achterkant van de berichtenwachtrij. Er kan ook een time-out voor zichtbaarheid worden opgegeven om het bericht onzichtbaar te maken totdat de time-out voor zichtbaarheid verloopt. Een bericht moet een indeling hebben die kan worden opgenomen in een XML-aanvraag met UTF-8-codering. Het gecodeerde bericht kan maximaal 64 kibibytes (KiB) groot zijn voor versie 2011-08-18 en hoger, of 8 KiB voor eerdere versies.
Aanvraag
U kunt de Put Message
aanvraag als volgt samenstellen. U wordt aangeraden HTTPS te gebruiken. Vervang myaccount door de naam van uw opslagaccount en myqueue
door de naam van uw wachtrij:
Methode | Aanvraag-URI | HTTP-versie |
---|---|---|
POST |
https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Aanvraag voor geëmuleerde opslagservice
Wanneer u een aanvraag indient voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en de wachtrijopslagpoort op als 127.0.0.1:10001
, gevolgd door de naam van het geëmuleerde opslagaccount:
Methode | Aanvraag-URI | HTTP-versie |
---|---|---|
POST |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Zie Use the Azurite emulator for local Azure Storage development (De Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkeling) voor meer informatie.
URI-parameters
U kunt de volgende parameters opgeven voor de aanvraag-URI:
Parameter | Beschrijving |
---|---|
visibilitytimeout=<int=seconds> |
Optioneel. Hiermee geeft u de nieuwe time-outwaarde voor zichtbaarheid, in seconden, ten opzichte van de servertijd. Als dit is opgegeven, moet de aanvraag worden gedaan met behulp van een x-ms-version van 2011-08-18 of hoger. Als deze niet is opgegeven, is de standaardwaarde 0. De nieuwe waarde moet groter dan of gelijk zijn 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 vervaldatum. Stel in visibilitytimeout op een waarde die kleiner is dan de time-to-live-waarde. |
messagettl=<int-seconds> |
Optioneel. Hiermee geeft u het time-to-live-interval voor het bericht op, in seconden. In versies ouder dan 2017-07-29 is de maximale time-to-live 7 dagen toegestaan. Voor versie 2017-07-29 en hoger kan de maximale time-to-live elk positief getal zijn, en -1 , wat aangeeft dat het bericht niet verloopt. Als u deze parameter weglaat, is de standaard time-to-live 7 dagen. |
timeout |
Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor wachtrijservicebewerkingen voor meer informatie. |
Aanvraagheaders
De vereiste en optionele aanvraagheaders worden beschreven in de volgende tabel:
Aanvraagheader | Beschrijving |
---|---|
Authorization |
Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening. Zie Aanvragen voor Azure Storage autoriseren voor meer informatie. |
Date or x-ms-date |
Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen voor Azure Storage autoriseren voor meer informatie. |
x-ms-version |
Optioneel. 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. |
Aanvraagbody
De hoofdtekst van de aanvraag bevat de berichtgegevens in de volgende XML-indeling. Houd er rekening mee dat de inhoud van het bericht een indeling moet hebben die kan worden gecodeerd met UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Voorbeeldaanvraag
Request:
POST https://myaccount.queue.core.windows.net/messages?visibilitytimeout=30&timeout=30 HTTP/1.1
Headers:
x-ms-version: 2011-08-18
x-ms-date: Tue, 30 Aug 2011 01:03:21 GMT
Authorization: SharedKey myaccount:sr8rIheJmCd6npMSx7DfAY3L//V3uWvSXOzUBCV9wnk=
Content-Length: 100
Body:
<QueueMessage>
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText>
</QueueMessage>
Antwoord
Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.
Statuscode
Een geslaagde bewerking retourneert statuscode 201 (gemaakt).
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 |
Identificeert op unieke wijze de aanvraag die is gedaan en u kunt deze gebruiken om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossen voor meer informatie. |
x-ms-version |
Geeft de versie van de Queue-service aan die is gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen die zijn gedaan op basis van versie 2009-09-19 en hoger. |
Date |
Een UTC-datum/tijd-waarde die wordt gegenereerd door de service, die de tijd aangeeft waarop het antwoord is gestart. |
x-ms-client-request-id |
Deze header kan worden gebruikt 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 en de waarde niet meer dan 1024 zichtbare ASCII-tekens bevat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze niet aanwezig in het antwoord. |
Hoofdtekst van de reactie
Vanaf versie 2016-05-31 bevat het antwoord voor de Put Message
bewerking de berichtinformatie in de antwoordtekst. De XML-indeling van de geretourneerde hoofdtekst wordt hier beschreven.
Het MessageID
element is een GUID-waarde die het bericht in de wachtrij identificeert. Deze waarde wordt toegewezen aan het bericht door Queue Storage en is ondoorzichtig voor de client. Deze waarde kan samen met de waarde van het element PopReceipt worden gebruikt om een bericht uit de wachtrij te verwijderen of bij te werken. De waarde van PopReceipt is ook ondoorzichtig voor de client en is vereist wanneer u de API's Bericht verwijderen of Bericht bijwerken gebruikt.
De InsertionTime
elementen , ExpirationTime
en TimeNextVisible
worden weergegeven als UTC-waarden en opgemaakt zoals beschreven in RFC 1123.
<QueueMessagesList>
<QueueMessage>
<MessageId>string-message-id</MessageId>
<InsertionTime>insertion-time</InsertionTime>
<ExpirationTime>expiration-time</ExpirationTime>
<PopReceipt>opaque-string-receipt-data</PopReceipt>
<TimeNextVisible>time-next-visible</TimeNextVisible>
</QueueMessage>
</QueueMessagesList>
Voorbeeldantwoord
Response Status:
HTTP/1.1 200 OK
Response headers:
Transfer-Encoding: chunked
Content-Type: application/xml
x-ms-version: 2016-05-31
Date: Fri, 09 Oct 2016 21:04:30 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
Response Body:
<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
<QueueMessage>
<MessageId>5974b586-0df3-4e2d-ad0c-18e3892bfca2</MessageId>
<InsertionTime>Fri, 09 Oct 2016 21:04:30 GMT</InsertionTime>
<ExpirationTime>Fri, 16 Oct 2016 21:04:30 GMT</ExpirationTime>
<PopReceipt>YzQ4Yzg1MDItYTc0Ny00OWNjLTkxYTUtZGM0MDFiZDAwYzEw</PopReceipt>
<TimeNextVisible>Fri, 09 Oct 2016 23:29:20 GMT</TimeNextVisible>
</QueueMessage>
</QueueMessagesList>
Autorisatie
Deze bewerking kan worden uitgevoerd door de accounteigenaar en door iedereen met een shared access signature met machtigingen om deze bewerking uit te voeren.
Opmerkingen
De optionele time-out voor zichtbaarheid geeft de tijd aan waarop het bericht onzichtbaar is. Nadat de time-out is verlopen, wordt het bericht zichtbaar. Als u geen time-out voor zichtbaarheid opgeeft, wordt de standaardwaarde 0 gebruikt.
De optionele time-to-live van het bericht geeft aan hoe lang een bericht in de wachtrij blijft. Het bericht wordt uit de wachtrij verwijderd wanneer de time-to-live-periode is verstreken.
Een bericht moet een indeling hebben die kan worden opgenomen in een XML-aanvraag met UTF-8-codering. Als u markeringen in het bericht wilt opnemen, moet de inhoud van het bericht xml-escaped of Base64-codering zijn. Xml-markeringen in het bericht die niet zijn gemarkeerd of gecodeerd, worden verwijderd voordat het bericht aan de wachtrij wordt toegevoegd.
Als het bericht te groot is, retourneert de service statuscode 400 (Ongeldige aanvraag).
Zie ook
Aanvragen voor Azure Storage autoriseren
Status en foutcodes
Foutcodes voor wachtrijservice