The Filter/ObjectSizeGreaterThan node in a PutBucketLifecycle request body failed validation because its value is not a positive integer.
Problem description
The value of the Filter/ObjectSizeGreaterThan node in the XML request body of a PutBucketLifecycle request is invalid.
Causes
ObjectSizeGreaterThan accepts only a positive integer (bytes). Any non-integer value — such as a string — causes OSS to reject the request.
Examples
The following request fails because ObjectSizeGreaterThan is set to abc:
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>
<ObjectSizeGreaterThan>abc</ObjectSizeGreaterThan>
</Filter>
<Expiration>
<Days>100</Days>
<ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker>
</Expiration>
</Rule>
</LifecycleConfiguration>Solutions
Set
ObjectSizeGreaterThanto a positive integer in the range 0–5 TB, in bytes.Alternatively, configure lifecycle rules in the OSS console — the console generates valid request bodies automatically.