你当前正在访问 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 |
请求标头
下表描述了必需和可选的请求标头。 除了列出的属性,标头还可能包含自定义属性。 请参阅示例。
请求标头 | 描述 |
---|---|
授权 | 指定以下标记值之一:
|
请求正文
没有。
响应
响应包括 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