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

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

此作从队列或订阅接收消息,并在一个原子作中删除该队列或订阅中的消息。

请求

方法 请求 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 令牌 (JWT) 令牌。
    示例: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 状态代码和一组响应标头。

响应代码

法典 描述
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  

服务总线返回以下响应。 该消息包含自定义属性 PriorityCustomer

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  

另请参阅