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

删除 Azure 存储) (消息

Delete Message 操作从队列中删除指定的消息。

请求

可以按如下所示构造 Delete Message 请求。 建议使用 HTTPS。

方法 请求 URI HTTP 版本
DELETE https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

将 替换为存储帐户的名称,myqueue将 替换为队列的名称,并将 string-value 替换为myaccount为要删除的消息获取的弹出回执的值。

模拟存储服务 URI

对模拟存储服务发出请求时,将模拟器主机名和 Azure 队列存储端口指定为 127.0.0.1:10001,后跟模拟存储帐户名称。

方法 请求 URI HTTP 版本
DELETE http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

URI 参数

请求 URI 支持以下参数。

参数 说明
popreceipt 必需。 从先前调用 “获取消息” 或“ 更新消息 ”操作返回的有效弹出回执值。
timeout 可选。 timeout 参数以秒表示。 有关详细信息,请参阅 设置队列存储操作的超时

请求标头

下表介绍必需的和可选的请求标头。

请求标头 说明
Authorization 必需。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅授权对 Azure 存储的请求
Datex-ms-date 必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权对 Azure 存储的请求
x-ms-version 可选。 指定用于此请求的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制
x-ms-client-request-id 可选。 提供客户端生成的不透明值,其中包含 1-kiB (KiB) 配置日志记录时记录在日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 队列存储

请求正文

无。

响应

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

状态代码

成功的操作将返回状态代码 204(无内容)。 有关状态代码的信息,请参阅 状态和错误代码

响应头

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

请求标头 说明
x-ms-request-id 此标头唯一标识发出的请求,可用于对请求进行故障排除。 有关详细信息,请参阅 API 操作疑难解答
x-ms-version 指示用于运行请求的队列存储的版本。 针对 2009-09-19 和更高版本发出的请求将返回此标头。
Date 一个 UTC 日期/时间值,该值指示启动响应的时间。 服务生成此值。
x-ms-client-request-id 此标头可用于对请求和相应响应进行故障排除。 如果请求中存在此标头的值,则此标头的值等于该标头的值 x-ms-client-request-id 。 该值最多为 1,024 个可见 ASCII 字符。 x-ms-client-request-id如果请求中不存在标头,则响应中不会显示此标头。

响应正文

无。

授权

帐户所有者可以执行此操作。 此外,具有共享访问签名且有权执行此操作的任何人都可以执行此操作。

注解

成功删除邮件后,会立即将其标记为要删除,并且不再可访问。

客户端使用 “获取消息” 操作检索消息后,客户端应处理并删除该消息。 要删除消息,必须在Get Messages操作的响应正文中返回两个数据项:

  • 消息 ID,这是一个标识队列中的消息的不透明 GUID 值。

  • 有效的 pop 回执,这是一个指示已检索消息的不透明值。

消息 ID 是从以前的Get Messages操作中返回的。 pop 回执是从最近的Get MessagesUpdate Message操作中返回的。 Delete Message若要使操作成功,在请求中指定的弹出回执必须与从 Get MessagesUpdate Message 操作返回的弹出回执匹配。

在发生以下事件之一之前,pop 回执将始终有效:

  • 消息过期。

  • 使用从 Get MessagesUpdate Message收到的最后一个弹出回执删除邮件。

  • 不可见超时将过期,并且消息被 Get Messages 请求取消排队。 当不可见超时过期时,消息将再次变为可见。 如果它由另一个 Get Messages 请求检索,则返回的弹出回执可用于删除或更新邮件。

  • 消息更新为新的可见性超时。 更新邮件时,将返回新的弹出回执。

如果未找到具有匹配的弹出回执的消息,则服务将返回错误代码 404 (找不到) 。 在以前列出的弹出回执不再有效的情况下,会发生此错误。

另请参阅

授权对 Azure 存储的请求
状态和错误代码
队列存储错误代码