批量删除对象

此接口主要实现在指定 Bucket 中批量删除 Object,单次请求最大支持批量删除 1000 个 Object。 删除对象操作(如果存在),如果不存在,则不做任何操作。并提供两种返回模式:详细(verbose)模式和简单(quiet)模式:

  • 详细模式(默认):OSS 返回的消息体中会包含每一个删除 Object 的结果。

  • 简单模式:OSS 返回的消息体中只包含删除过程中出错的 Object结果;如果所有删除都成功的话,则没有消息体。

请求

  • 请求语法

    • 内容

        POST /? delete HTTP/1.1
        Host: {BucketName}.{Endpoint}
        Date: {date}
        Content-Length: length
        Content-Type: application/xml
        Content-MD5: MD5
        Authorization: {SignatureValue}    
      
    • 描述

        Endpoint:参考与region地域的关系
        SignatureValue:参考签名算法
      
  • 请求参数

  • 非公共请求头

名称 类型 是否必须 描述
Content-Length 字符串 RFC 2616 中定义的 HTTP 请求内容长度(字节)
默认值:None
Content-MD5 字符串 RFC 1864 中定义的经过 Base64 编码的 128-bit 内容 MD5 校验值。此头部用来校验文件内容是否发生变化
默认值:None
  • 请求体
名称 类型 是否必须 描述
DELETE 容器 描述本次删除的返回结果方式和目标 Object
子节点:Quiet、Object
Quiet 布尔值 布尔值,这个值决定了是否启动 Quiet 模式。值为 true 启动 Quiet 模式,值为 false 则启动 Verbose 模式,默认值为 False
父节点:DELECT
Object 容器 描述每个将要删除的目标 Object 信息
子节点:Object
父节点:DELECT
Key 字符串 目标 Object 文件名称
父节点:Object
VersionId 字符串 被删除Object的版本号。
父节点:Object

响应

  • 非公共响应头

  • 响应体

名称 类型 描述
DeleteResult 容器 本次删除返回结果的方式和目标 Object Container 节点 Deleted 的内容
Deleted 容器 说明本次删除的成功 Object 信息
父节点: DeleteResult
Key 字符串 Object名称
父节点: DeleteResult.Deleted Container 节点 Error 的内容
Error 容器 说明本次删除的失败 Object 信息
父节点: DeleteResult
Key 字符串 Object名称
父节点:DeleteResult.Error
Code 字符串 删除失败的错误代码
父节点:DeleteResult.Error
Message 字符串 删除失败的错误信息
父节点:DeleteResult.Error

示例

  • 请求1(简单模式)

      POST /?delete HTTP/1.1
      Host: oss-example.oss-cn-beijing.inspurcloud.com
      Date: Wed, 23 Oct 2016 21:32:00 GMT
      Connection: keep-alive
    
      Accept-Encoding: gzip, deflate
      Accept: */*
      User-Agent: python-requests/2.12.4
      Authorization: sa76972ba599cba25a8a733d2fef
      Content-MD5: yoLiNjQuvB7lu8cEmPafrQ==
      Content-Length: 125
    
      <Delete>
        <Quiet>true</Quiet>
        <Object>
          <Key>aa</Key>
        </Object>
        <Object>
          <Key>aaa</Key>
        </Object>
      </Delete>     
    
  • 响应1

      <DeleteResult>
       <Deleted>
        <Key>aa</Key>
       </Deleted>
       <Deleted>
        <Key>aaa</Key>
       </Deleted>
      </DeleteResult>    
    
  • 请求2(详细模式)

      POST /?delete HTTP/1.1
      Host: oss-example.oss-cn-beijing.inspurcloud.com
      Date: Tue, 22 Aug 2017 12:16:35 GMT
      Connection: keep-alive
      Accept-Encoding: gzip, deflate
      Accept: */*
      User-Agent: python-requests/2.12.4
      Authorization: 8a733d2fef
      Content-MD5: V0XuU8V7aqMYeWyD3BC2nQ==
      Content-Length: 126
    
      <Delete>
        <Quiet>false</Quiet>
        <Object>
          <Key>aa</Key>
        </Object>
        <Object>
          <Key>aaa</Key>
        </Object>
      </Delete>    
    
  • 响应2

      <DeleteResult>
       <Deleted>
        <Key>aa</Key>
       </Deleted>
       <Deleted>
        <Key>aaa</Key>
       </Deleted>
      </DeleteResult>    
    

错误码

错误码 描述 状态码 描述
... ... ... ...