文档

0016-00000609

更新时间:

问题描述

批量删除操作请求体XML中包含待删除Object数量过多。

问题原因

您发起了DeleteMultipleObjects请求,但是单次请求删除的Object数量超出限制。目前该接口单次请求最多支持删除1000个Object。

问题示例

以下DeleteMultipleObjects请求中删除的Object数量超出限制,导致请求报错。

POST /?delete HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 29 Feb 2012 12:26:16 GMT
Content-Length:151
Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:+z3gBfnFAxBcBDgx27Y/jEfb****
<?xml version="1.0" encoding="UTF-8"?>
<BatchDelete> 
  <Quiet>false</Quiet>  
  <Object> 
    <Key>1.data</Key> 
  </Object>  
  <Object> 
    <Key>2.data</Key> 
  </Object> 
  ...(此处省略1000个Object节点)...
  <Object> 
    <Key>1003.jpg</Key> 
  </Object> 
 </BatchDelete>

解决方案

确保单次DeleteMultipleObjects请求删除Object数量不超过1000个。

POST /?delete HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 29 Feb 2012 12:26:16 GMT
Content-Length:151
Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:+z3gBfnFAxBcBDgx27Y/jEfb****
<?xml version="1.0" encoding="UTF-8"?>
<Delete> 
  <Quiet>false</Quiet>  
  <Object> 
    <Key>multipart.data</Key> 
  </Object>  
  <Object> 
    <Key>test.jpg</Key> 
  </Object>  
  <Object> 
    <Key>demo.jpg</Key> 
  </Object> 
</Delete>

如果您需要删除更多数量的Object,您可以选择以下任意方式进行删除。

  • 多次调用DeleteMultipleObjects接口进行删除。

  • 通过命令行工具ossutil以及图形化管理工具ossbrowser一次最多可删除的文件无个数限制。

  • 如果需要删除的文件数目较多,且删除的文件有一定的规律,例如需要定期删除指定日期之前的文件,指定前缀的文件,又或者需要清空整个Bucket内的所有文件。此时,推荐您配置生命周期规则自动删除文件。生命周期规则配置完成后,OSS会根据规则自动删除指定文件,减少您发送删除请求的次数,以提高删除效率。

相关文档

  • 本页导读 (1)
文档反馈