問題描述
PutBucketLifecycle請求的請求體XML中存在介面不允許的節點。
問題原因
您發起了PutBucketLifecycle請求,但是請求體XML存在介面不允許的節點,導致請求錯誤。
問題樣本
以下請求體XML中Rule節點下存在AtimeBase的子節點,而PutBucketLifecycle介面不支援該子節點。
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>log/</Prefix>
<Status>Enabled</Status>
<Transition>
<Days>30</Days>
<StorageClass>IA</StorageClass>
<IsAccessTime>true</IsAccessTime>
<ReturnToStdWhenVisit>true</ReturnToStdWhenVisit>
<AtimeBase>100</AtimeBase>
</Transition>
</Rule>
</LifecycleConfiguration>解決方案
確保PutBucketLifecycle請求中請求體XML結構合法。
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>log/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>IA</StorageClass> <IsAccessTime>true</IsAccessTime> <ReturnToStdWhenVisit>true</ReturnToStdWhenVisit> </Transition> </Rule> </LifecycleConfiguration>通過OSS管理主控台配置生命週期規則,避免手動構造請求體。