0014-00000054
Problem description
The XML request body of a PutBucketLifecycle request contains mutually exclusive child nodes.
Causes
You sent a PutBucketLifecycle request, but the XML request body contains the AllowSmallFile child node under the Transition node. This node specifies whether to transition objects smaller than 64 KB to the Infrequent Access (IA), Archive, Cold Archive, or Deep Cold Archive storage class when you set a lifecycle rule based on the last access time. Valid values:
true (default): Transitions all objects, including those smaller than 64 KB. Objects smaller than 64 KB are billed as 64 KB. Objects that are 64 KB or larger are billed based on their actual size. If you set this parameter to true, your storage fees may increase.
false: Does not transition objects smaller than 64 KB.
The AllowSmallFile child node cannot be specified in the same XML request body as the Filter/ObjectSizeLessThan or Filter/ObjectSizeGreaterThan child node. Because these nodes are mutually exclusive, the request fails if they are included together.
Examples
The following request contains both the AllowSmallFile and Filter/ObjectSizeLessThan child nodes.
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>rule2</ID>
<Prefix>abc</Prefix>
<Status>Enabled</Status>
<Filter>
<ObjectSizeLessThan>1024</ObjectSizeLessThan>
</Filter>
<Transition>
<IsAccessTime>true</IsAccessTime>
<Days>200</Days>
<StorageClass>IA</StorageClass>
<ReturnToStdWhenVisit>true</ReturnToStdWhenVisit>
<AllowSmallFile>true</AllowSmallFile>
</Transition>
</Rule>
</LifecycleConfiguration>Solutions
Ensure that the XML request body contains only the
Filter/ObjectSizeLessThanorAllowSmallFilechild node.Configure lifecycle rules in the OSS console to avoid manually creating the request body.