你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

接收并删除消息(破坏性读取)

此操作以一个原子操作从某个队列或订阅中接收某条消息,然后从该队列或订阅中删除该消息。

请求

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



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

请求标头

下表介绍必需的和可选的请求标头。 除了所列出的属性外,标头还可以包含自定义属性。 请参阅示例。

请求标头 说明
授权 指定以下令牌值之一:
  • Azure Active Directory (Azure AD) JSON Web 令牌 (JWT) 令牌。
    示例:Authorization: Bearer <Azure AD JWT token>
    有关生成 Azure AD 令牌的信息,请参阅 从应用程序进行身份验证
  • SAS 标记。
    示例:Authorization: SharedAccessSignature sr=<NAMESPACE NAME>.servicebus.windows.net&sig=<SHARED ACCESS KEY>&se=<TOKEN EXPIRY INSTANT>&skn=<SHARED KEY NAME>
    有关生成 SAS 令牌的信息,请参阅 生成共享访问签名令牌生成 SAS 令牌

请求正文

无。

响应

响应包括 HTTP 状态代码和一组响应标头。

响应代码

代码 说明
200 已成功检索并删除消息。
204 指定超时期内无可用消息。
400 请求错误。
401 授权失败。
410 指定的队列或订阅不存在。
500 内部错误。

有关状态代码的信息,请参阅 状态和错误代码

响应标头

此操作的响应包括以下标头。 该响应还可能包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

响应正文

响应正文是已检索消息的消息正文。

示例

以下 HTTP 请求将从队列中接收并删除某条消息:

DELETE 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  

服务总线返回以下响应。 消息包含自定义属性“Priority”和“Customer”:

HTTP/1.1 200 OK  
Transfer-Encoding: chunked  
Content-Type: application/atom+xml;type=entry;charset=utf-8  
Server: Microsoft-HTTPAPI/2.0  
BrokerProperties: {"DeliveryCount":1,"EnqueuedSequenceNumber":0,"EnqueuedTimeUtc":"Tue, 01 Jul 2014 23:00:23 GMT","Label":"M1","MessageId":"3a146f76afee41648677887ffced72d8","SequenceNumber":1,"State":"Active","TimeToLive":10}  
Priority: "High"  
Customer: "12345,ABC"  
Date: Tue, 01 Jul 2014 23:00:23 GMT  
  
12  
This is a message.  
0  

另请参阅

Service Bus HTTP 客户端示例