批量删除对象 (DELETE Multiple Objects)
该接口定义了通过 POST 请求批量删除指定空间内多个对象 (Objects) 的操作。
请求定义
POST /<BucketName>?delete HTTP/1.1
Host: api-s3.qiniu.com
Date: <date>
Content-Length: <integer>
Content-MD5: <string>
Authorization: <YourAuthenticatingString>
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
<Quiet>true</Quiet>
<Object>
<Key>Key1</Key>
</Object>
<Object>
<Key>Key2</Key>
</Object>
...
</Delete>
请求参数
该接口定义了以下请求参数:
名称 | 描述 | 要求 |
---|---|---|
delete | 批量删除指定空间下的多个对象 | Y |
请求头
除 请求头 (HTTP Request Header) 外,该接口定义了以下请求头:
名称 | 描述 | 要求 |
---|---|---|
Content-Length | 请求体长度,单位为 byte | Y |
Content-MD5 | Base64 编码的请求体 MD5 摘要值 | Y |
请求数据
客户端通过 XML 指定要删除的对象名称 (Object Key) 列表,单次请求最多只能包含 1000 个名称。
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
<Quiet>true</Quiet>
<Object>
<Key>Key1</Key>
</Object>
<Object>
<Key>Key2</Key>
</Object>
...
</Delete>
Quiet
为 true 时,服务器端仅返回删除失败的对象的信息;为 false 时,服务器端返回每个对象删除是否成功的信息
响应定义
该接口正确处理请求时返回如下 XML 数据
Quiet
== true
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Error>
<Key>Key2</Key>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
</Error>
</DeleteResult>
Quiet
== false
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Deleted>
<Key>Key1</Key>
</Deleted>
<Error>
<Key>Key2</Key>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
</Error>
</DeleteResult>