問題描述
PutBucketLifecycle請求的請求體XML中Filter/ObjectSizeGreaterThan節點取值不合法。
問題原因
PutBucketLifecycle請求的請求體XML中Filter/ObjectSizeGreaterThan節點取值不是合法的正整數,導致請求錯誤。
問題樣本
以下請求中Filter/ObjectSizeGreaterThan節點取值為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>解決方案
確保請求XML中
Filter/ObjectSizeGreaterThan節點的取值為正整數,取值範圍在0~5 TB之間,單位為位元組。通過OSS管理主控台配置生命週期規則,避免手動構造請求體。