Skicka meddelande
Skickar ett meddelande till en Service Bus-kö eller ett ämne.
Förfrågan
Metod | URI för förfrågan | HTTP-version |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages|HTTP/1.1 |
Rubriker för begäran
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden. Förutom de angivna egenskaperna kan huvudet innehålla anpassade egenskaper. Se exemplet.
Begärandehuvud | Description |
---|---|
Authorization |
Ange något av följande tokenvärden:
|
Content-Type |
Ange lämplig innehållstyp för den publicerade entitetstexten (meddelandenyttolast). |
BrokerProperties |
JSON-kodad uppsättning BrokeredMessage egenskaper. |
x-ms-retrypolicy |
(Valfritt) Ange till för att NoRetry inaktivera automatiskt återförsök vid sändningsåtgärder när tillfälliga fel inträffar. |
Begärandetext
Begärandetexten är meddelandenyttolasten.
Om meddelandet ska tas emot via ett annat protokoll än HTTP/HTTPS måste meddelandetexten serialiseras. till exempel med en XML System.Runtime.Serialization.DataContractSerializer. Exempel:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
Föregående kod skapar följande meddelandetext:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
Du kan ta emot och bearbeta meddelandet med följande kod:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Svarsåtgärder
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Svarskoder
Kod | Description |
---|---|
201 | Meddelandet har skickats till kö eller ämne. |
400 | Felaktig begäran. |
401 | Auktoriseringsfel. |
403 | Kvoten har överskridits eller meddelandet är för stort. |
410 | Angiven kö eller ämne finns inte. |
500 | Internt fel. |
Information om statuskoder finns i Status och Felkoder.
Svarsrubriker
Innehållstyp som skickas in.
Svarstext
Inga.
Exempel
Följande HTTP-begäran skickar ett meddelande till en kö eller ett ämne. Meddelandet har följande egenskaper:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
Förutom BrokeredProperties
innehåller meddelandet följande anpassade egenskaper: Priority=High
och Customer="12345,ABC"
.
POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages?timeout=60 HTTP/1.1
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey
BrokerProperties: {"Label":"M1","State":"Active","TimeToLive":10}
Priority: High
Customer: 12345,ABC
Content-Type: application/atom+xml;type=entry;charset=utf-8
Host: your-namespace.servicebus.windows.net
Content-Length: 18
Expect: 100-continue
This is a message.
Service Bus returnerar följande svar:
HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 01 Jul 2014 23:00:22 GMT
0