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
, ExpirationTime
och 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