傳送訊息
將訊息傳送至服務總線佇列或主題。
請求
方法 | 要求 URI | HTTP 版本 |
---|---|---|
發佈 | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
要求標頭
下表描述必要和選擇性的要求標頭。 除了列出的屬性之外,標頭還可以包含自定義屬性。 請參閱範例。
要求標頭 | 描述 |
---|---|
Authorization |
指定下列其中一個權杖值:
|
Content-Type |
為張貼的實體本文(訊息承載)設定適當的內容類型。 |
BrokerProperties |
JSON 編碼的一組 BrokeredMessage 屬性。 |
x-ms-retrypolicy |
(選擇性)設定為 NoRetry ,以在發生暫時性錯誤時停用傳送作業的自動重試。 |
要求本文
要求本文是訊息承載。
如果要透過 HTTP/HTTPS 以外的通訊協定接收訊息,則必須串行化訊息本文;例如,使用 XML System.Runtime.Serialization.DataContractSerializer。 例如:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
上述程式代碼會產生下列訊息本文:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
您可以使用下列程式代碼接收及處理訊息:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
回應
回應包含 HTTP 狀態代碼和一組響應標頭。
回應碼
法典 | 描述 |
---|---|
201 | 訊息已成功傳送至佇列或主題。 |
400 | 不正確的要求。 |
401 | 授權失敗。 |
403 | 超過配額或訊息太大。 |
410 | 指定的佇列或主題不存在。 |
500 | 內部錯誤。 |
如您需狀態代碼的相關資訊,請參閱 狀態和錯誤碼。
回應標頭
傳入的內容類型。
回應本文
沒有。
例
下列 HTTP 要求會將訊息傳送至佇列或主題。 訊息具有下列屬性:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
除了 BrokeredProperties
之外,訊息還帶有下列自定義屬性:Priority=High
和 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.
服務總線會傳回下列回應:
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