共用方式為


傳送訊息

將訊息傳送至服務總線佇列或主題。

請求

方法 要求 URI HTTP 版本
發佈 http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages HTTP/1.1

要求標頭

下表描述必要和選擇性的要求標頭。 除了列出的屬性之外,標頭還可以包含自定義屬性。 請參閱範例。

要求標頭 描述
Authorization 指定下列其中一個權杖值:
  • Microsoft Entra JSON Web Token (JWT) Token。
    範例:Authorization: Bearer <Azure AD JWT token>
    如需產生Microsoft Entra 令牌的資訊,請參閱從應用程式驗證。
  • SAS 令牌。
    範例:Authorization: SharedAccessSignature sr=<NAMESPACE NAME>.servicebus.windows.net&sig=<SHARED ACCESS KEY>&se=<TOKEN EXPIRY INSTANT>&skn=<SHARED KEY NAME>
    如需產生 SAS 令牌的資訊,請參閱 產生共用存取簽章令牌產生 SAS 令牌
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=HighCustomer="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  

另請參閱

服務總線 HTTP 用戶端範例