0014-00000063
Problem description
The NoncurrentVersionTransition node in the PutBucketLifecycle request body is missing the required StorageClass child node.
Causes
When you submit a PutBucketLifecycle request, OSS validates the request body XML. If the NoncurrentVersionTransition node does not include a StorageClass child node, OSS cannot determine the target storage class for noncurrent object versions and rejects the request.
Examples
The following request body is missing <StorageClass> inside NoncurrentVersionTransition:
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>rule7</ID>
<Prefix>xxx</Prefix>
<Status>Enabled</Status>
<NoncurrentVersionTransition>
<NoncurrentDays>200</NoncurrentDays>
<!-- StorageClass is missing here -->
</NoncurrentVersionTransition>
</Rule>
</LifecycleConfiguration>Solutions
Add <StorageClass> to the NoncurrentVersionTransition node. This element specifies the storage class that noncurrent versions transition to, such as IA (Infrequent Access).
The corrected request body:
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>rule7</ID>
<Prefix>xxx</Prefix>
<Status>Enabled</Status>
<NoncurrentVersionTransition>
<NoncurrentDays>200</NoncurrentDays>
<StorageClass>IA</StorageClass>
</NoncurrentVersionTransition>
</Rule>
</LifecycleConfiguration>To avoid constructing request bodies manually, configure lifecycle rules in the OSS console instead.