批量删除对象 (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>
  • Quiettrue 时,服务器端仅返回删除失败的对象的信息;为 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>

results matching ""

    No results matching ""