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

删除 Azure 存储 (实体)

Delete Entity 操作删除表中的现有实体。

请求

可以按如下所示构造 Delete Entity 请求。 建议使用 HTTPS。 将 myaccount 替换为存储帐户的名称、 mytable 的名称和表的名称,将 myPartitionKeymyRowKey 替换为要删除的实体的分区键和行键的名称。

方法 请求 URI HTTP 版本
DELETE https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

要更新的实体的地址可能会在请求 URI 上采用多种形式。 有关其他详细信息,请参阅 OData 协议

模拟存储服务 URI

针对模拟存储服务发出请求时,请指定 127.0.0.1:10002仿真器主机名和 Azure 表存储端口,后跟模拟的存储帐户名称。

方法 请求 URI HTTP 版本
DELETE http://127.0.0.1:10002/devstoreaccount1/myentity(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

存储模拟器中的表存储以多种方式不同于 Azure 服务。 有关详细信息,请参阅 存储模拟器与 Azure 存储服务之间的差异

URI 参数

可以在请求 URI 上指定以下附加参数。

参数 说明
timeout 可选。 超时参数以秒表示。 有关详细信息,请参阅 设置表存储操作的超时

请求标头

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

请求标头 说明
Authorization 必需。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅授权对 Azure 存储的请求
Datex-ms-date 必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权对 Azure 存储的请求
x-ms-version 可选。 指定用于此请求的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制
If-Match 必需。 客户端可以针对请求指定 ETag 实体,以便与 ETag 服务维护的实体进行比较,以便乐观并发。 仅当客户端发送的值与服务器维护的值匹配时 ETag ,删除操作才会继续。 此匹配表示自客户端检索实体以来尚未修改该实体。

要强制无条件删除,请将 If-Match 设置为通配符 (*)。
x-ms-client-request-id 可选。 提供客户端生成的不透明值,其中包含 1-kibibyte (KiB) 字符限制,该限制在配置日志记录时记录在 Azure Monitor 日志中。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 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如果请求中不存在标头,则响应中不会存在此标头。

响应正文

无。

授权

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

注解

成功删除实体时,该实体将立即标记为要删除,并且不再可供客户端访问。 稍后,在垃圾回收期间,该实体将从表存储中删除。

实体 ETag 为删除操作提供默认乐观并发。 该值 ETag 不透明,不应读取或依赖。 在发生删除操作之前,表存储会验证实体的当前 ETag 值是否与 ETag 标头中的 If-Match 删除请求中包含的值相同。 如果值相同,表存储将确定自检索实体后尚未修改实体,并且删除操作会继续。

如果实体不同于 ETag 使用删除请求指定的实体,则删除操作会失败,状态代码为 412 (前置条件失败) 。 此错误表明在检索实体后在服务器上更改了该实体。 要解决该错误,请重新检索实体并重新发出请求。

要强制执行无条件删除操作,请将请求中 If-Match 标头的值设置为通配符 (*)。 将此值传递给操作会替代默认乐观并发,并忽略值中的任何 ETag 不匹配。

如果请求中缺少 If-Match 标头,服务将返回状态代码 400(错误的请求)。 其他方式格式不正确的请求也可以返回代码 400。 有关详细信息,请参阅 表存储错误代码

任何可以授权和发送 HTTP DELETE 请求的应用程序都可以删除实体。 有关使用 HTTP DELETE构造查询的详细信息,请参阅 添加、修改和删除实体

有关执行批处理删除操作的信息,请参阅 执行实体组事务

请参阅

授权对 Azure 存储的请求
设置 OData 数据服务版本标头
状态和错误代码
表存储错误代码