你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
删除实体 (Azure 存储)
Delete Entity
操作删除表中的现有实体。
请求
可以按如下所示构造 Delete Entity
请求。 建议使用 HTTPS。 将 myaccount 替换为存储帐户的名称,将 mytable 替换为表的名称,将 myPartitionKey 和 myRowKey 替换为标识要删除的实体的分区键和行键的名称。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
DELETE |
https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
要更新的实体的地址可能在请求 URI 上采用多种形式。 有关更多详细信息,请参阅 OData 协议。
模拟存储服务 URI
对模拟存储服务发出请求时,请将模拟器主机名和 Azure 表存储端口指定为 127.0.0.1:10002
,后跟模拟的存储帐户名称。
方法 | 请求 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 存储的请求。 |
Date 或 x-ms-date |
必需。 指定请求的协调世界时 (UTC)。 有关详细信息,请参阅授权对 Azure 存储的请求。 |
x-ms-version |
可选。 指定用于此请求的操作的版本。 有关详细信息,请参阅 Azure 存储服务的版本控制。 |
If-Match |
必需。 客户端可以为请求中的 实体指定 ETag ,以便与服务维护的 进行比较 ETag ,以实现乐观并发。 仅当客户端发送的 与服务器维护的值匹配时 ETag ,删除操作才会继续。 此匹配表示自客户端检索实体以来尚未修改该实体。要强制无条件删除,请将 If-Match 设置为通配符 (*)。 |
x-ms-client-request-id |
可选。 提供客户端生成的不透明值,其中包含 1-kibite (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 如果请求中不存在标头,则响应中不会显示此标头。 |
响应正文
无。
授权
帐户所有者可以执行此操作。 此外,具有共享访问签名且有权执行此操作的任何人都可以执行此操作。
注解
成功删除实体后,该实体会立即标记为要删除,并且不再可访问。
实体的 ETag
为删除操作提供默认的乐观并发。 该值 ETag
是不透明的,不应读取或依赖该值。 在删除操作发生之前,表存储会验证实体的当前 ETag
值是否与 ETag
标头中的 If-Match
删除请求中包含的值相同。 如果值相同,表存储将确定实体自检索以来尚未修改,并且删除操作继续进行。
如果实体的 ETag
与删除请求中指定的不同,则删除操作将失败,状态代码为 412 (前置条件失败) 。 此错误表明在检索实体后在服务器上更改了该实体。 要解决该错误,请重新检索实体并重新发出请求。
要强制执行无条件删除操作,请将请求中 If-Match
标头的值设置为通配符 (*)。 将此值传递给操作会替代默认的乐观并发,并忽略值中的任何 ETag
不匹配。
如果请求中缺少 If-Match
标头,服务将返回状态代码 400(错误的请求)。 在其他方面格式不正确的请求也可能返回代码 400。 有关详细信息,请参阅 表存储错误代码。
可以授权和发送 HTTP DELETE
请求的任何应用程序都可以删除实体。 有关使用 HTTP DELETE
构造查询的详细信息,请参阅 添加、修改和删除实体。
有关执行批量删除操作的信息,请参阅 执行实体组事务。