问题描述
PutBucketLifecycle请求的请求体XML中Filter/ObjectSizeGreaterThan
和Filter/ObjectSizeLessThan
节点取值互斥。
问题原因
在PutBucketLifecycle请求的请求体XML中:
Filter/ObjectSizeGreaterThan
节点用于指定待过滤文件大小的最小值。Filter/ObjectSizeLessThan
节点用于指定待过滤文件大小的最大值。
如果Filter/ObjectSizeGreaterThan
节点取值大于Filter/ObjectSizeLessThan
节点取值,则请求报错。
问题示例
以下请求示例中Filter/ObjectSizeLessThan
节点取值为100
,Filter/ObjectSizeGreaterThan
节点取值为200。
PUT /?lifecycle HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 336
Date: Mon , 6 May 2019 15:23:20 GMT
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>rule</ID>
<Prefix>test</Prefix>
<Status>Enabled</Status>
<Filter>
<ObjectSizeLessThan>100</ObjectSizeLessThan>
<ObjectSizeGreaterThan>200</ObjectSizeGreaterThan>
</Filter>
<Expiration>
<Days>100</Days>
<ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker>
</Expiration>
</Rule>
</LifecycleConfiguration>
解决方案
确保请求中
Filter/ObjectSizeLessThan
节点取值必须大于Filter/ObjectSizeGreaterThan
节点取值。通过OSS管理控制台配置生命周期规则,避免手动构造请求体。
相关文档
文档内容是否对您有帮助?