共用方式為


Peek-Lock 訊息 (非破壞性讀取)

這項作業會以不可部分完成的方式從佇列或訂用帳戶擷取並鎖定訊息以供處理。 在佇列/訂用帳戶描述中指定的鎖定期間,訊息保證不會傳遞至其他接收者(僅限在同一個佇列或訂用帳戶上)。 當鎖定到期時,訊息會變成可供其他接收者使用。 為了完成訊息的處理,接收者應該發出delete命令,其中包含從這項作業接收的鎖定標識符。 若要放棄處理訊息並解除鎖定給其他接收者,應該發出 解除鎖定訊息 命令,否則鎖定持續時間可能會過期。

此作業應該用於需要 至少一次 傳遞保證的應用程式。 如果接收者在處理成功之前未刪除訊息,這項作業可確保另一個接收者能夠在鎖定期間到期后嘗試處理。

請求

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



http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1

要求標頭

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

要求標頭 描述
授權 指定下列其中一個權杖值:
  • 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 令牌

要求本文

沒有。

回應

回應包含 HTTP 狀態代碼、一組響應標頭和響應主體。

回應碼

法典 描述
201 訊息已成功擷取並鎖定。
204 在指定的逾時期間內沒有可用的訊息。
400 不正確的要求。
401 授權失敗。
410 指定的佇列或訂用帳戶不存在。
500 內部錯誤。

如您需狀態代碼的相關資訊,請參閱 狀態和錯誤碼

回應標頭

此作業的回應包含下列標頭。 回應也可能包含更標準的 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格,

回應標頭 描述
Content-Type 設定為 application/atom+xml;type=entry;charset=utf-8
Location 鎖定訊息的 URI。 您可以使用此 URI 來解除鎖定或刪除訊息。
BrokerProperties 已接收訊息的 JSON 編碼 BrokerPropertiesLockToken 屬性代表傳回訊息的鎖定標識碼。 SequenceNumber 屬性代表傳回訊息的序號。

回應本文

回應本文是所擷取訊息的訊息本文。

下列 HTTP 要求會鎖定並從佇列傳回訊息:

POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages/head?timeout=60 HTTP/1.1  
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey  
Host: your-namespace.servicebus.windows.net  
Content-Length: 0  

服務總線會傳回下列回應。 訊息包含自訂屬性 PriorityCustomer

HTTP/1.1 201 Created  
Transfer-Encoding: chunked  
Content-Type: application/atom+xml;type=entry;charset=utf-8  
Location: https://your-namespace.servicebus.windows.net/httpclientsamplequeue/messages/2/7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547  
Server: Microsoft-HTTPAPI/2.0  
BrokerProperties: {"DeliveryCount":1,"EnqueuedSequenceNumber":0,"EnqueuedTimeUtc":"Wed, 02 Jul 2014 01:32:27 GMT","Label":"M1","LockToken":"7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547","LockedUntilUtc":"Wed, 02 Jul 2014 01:33:27 GMT","MessageId":"31907572164743c38741631acd554d6f","SequenceNumber":2,"State":"Active","TimeToLive":10}  
Priority: "High"  
Customer: "12345,ABC"  
Date: Wed, 02 Jul 2014 01:32:27 GMT  
  
12  
This is a message.  
0  

另請參閱