Delen via


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 InsertionTimeelementen , ExpirationTimeen 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