Placera meddelande

Åtgärden Put Message lägger till ett nytt meddelande på baksidan av meddelandekön. En tidsgräns för synlighet kan också anges för att göra meddelandet osynligt tills tidsgränsen för synlighet upphör att gälla. Ett meddelande måste vara i ett format som kan inkluderas i en XML-begäran med UTF-8-kodning. Det kodade meddelandet kan vara upp till 64 kibibyte (KiB) i storlek för version 2011-08-18 och senare, eller 8 KiB för tidigare versioner.

Förfrågan

Du kan skapa begäran på Put Message följande sätt. Vi rekommenderar att du använder HTTPS. Ersätt myaccount med namnet på ditt lagringskonto och myqueue med namnet på din kö:

Metod URI för förfrågan HTTP-version
POST https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> HTTP/1.1

Emulerad lagringstjänstbegäran

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
POST http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> HTTP/1.1

Mer information finns i Använda Azurite-emulatorn för lokal Azure Storage-utveckling.

URI-parametrar

Du kan ange följande parametrar på begärande-URI:n:

Parameter Beskrivning
visibilitytimeout=<int=seconds> Valfritt. Anger det nya tidsgränsvärdet för synlighet, i sekunder, i förhållande till servertiden. Om den anges måste begäran göras med hjälp x-ms-version av 2011-08-18 eller senare. Om det inte anges är standardvärdet 0. 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 som är senare än förfallodatumet. Ange visibilitytimeout till ett värde som är mindre än time to live-värdet.
messagettl=<int-seconds> Valfritt. Anger time to live-intervallet för meddelandet i sekunder. I tidigare versioner än 2017-07-29 är den maximala tillåtna tiden till live 7 dagar. För version 2017-07-29 och senare kan den maximala time to live-versionen vara ett positivt tal, och -1, vilket indikerar att meddelandet inte upphör att gälla. Om den här parametern utelämnas är standardvärdet time to live 7 dagar.
timeout Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för kötjänståtgärder.

Begärandehuvuden

De obligatoriska och valfria begärandehuvudena beskrivs i följande tabell:

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 Valfritt. 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 loggning 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.

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>  

Exempelbegäran

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>  

Svarsåtgärder

Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.

Statuskod

En lyckad åtgärd returnerar statuskoden 201 (skapad).

Mer 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 HTTP-standardhuvuden. Alla standardhuvuden överensstämmer med http/1.1-protokollspecifikationen.

Begärandehuvud Beskrivning
x-ms-request-id Identifierar begäran som gjordes unikt och du kan använda den för att felsöka begäran. Mer information finns i Felsöka API-åtgärder.
x-ms-version Anger den kötjänstversion som användes för att köra begäran. Den här rubriken returneras för begäranden som har gjorts mot version 2009-09-19 och senare.
Date Ett DATUM-/tidsvärde för UTC som genereras av tjänsten, vilket anger den tid då svaret initierades.
x-ms-client-request-id Det här huvudet kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet x-ms-client-request-id för rubriken om det finns i begäran och värdet inte innehåller fler än 1 024 synliga ASCII-tecken. Om rubriken x-ms-client-request-id inte finns i begäran finns den inte i svaret.

Själva svaret

Från och med version 2016-05-31 innehåller svaret för Put Message åtgärden meddelandeinformationen i svarstexten. XML-formatet för den returnerade brödtexten beskrivs här.

Elementet MessageID är ett GUID-värde som identifierar meddelandet i kön. Det här värdet tilldelas till meddelandet av Queue Storage och är ogenomskinlig för klienten. Det här värdet kan användas tillsammans med värdet för elementet PopReceipt för att ta bort eller uppdatera ett meddelande från kön. Värdet för PopReceipt är också ogenomskinlig för klienten och krävs när du använder API:erna Ta bort meddelande eller Uppdatera meddelande.

Elementen InsertionTime, ExpirationTimeoch TimeNextVisible representeras som UTC-värden och formateras enligt beskrivningen i 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>

Exempelsvar

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>

Auktorisering

Den här åtgärden kan utföras av kontoägaren och av alla som har en signatur för delad åtkomst med behörighet att utföra den här åtgärden.

Kommentarer

Den valfria tidsgränsen för synlighet anger den tid då meddelandet är osynligt. När tidsgränsen går ut blir meddelandet synligt. Om du inte anger en tidsgräns för synlighet används standardvärdet 0.

Det valfria meddelandet time to live anger hur länge ett meddelande finns kvar i kön. Meddelandet tas bort från kön när time to live-perioden upphör att gälla.

Ett meddelande måste vara i ett format som kan inkluderas i en XML-begäran med UTF-8-kodning. Om du vill inkludera kod i meddelandet måste innehållet i meddelandet antingen vara XML-undantaget eller Base64-encode. Alla XML-markeringar i meddelandet som inte är undantagna eller kodade tas bort innan meddelandet läggs till i kön.

Om meddelandet är för stort returnerar tjänsten statuskoden 400 (felaktig begäran).

Se även

Auktorisera begäranden till Azure Storage
Status- och felkoder
Kötjänstfelkoder