問題の説明
PutBucketLifecycleリクエストのリクエストボディXMLで、Days
、CreatedBeforeDate
、またはExpiredObjectDeleteMarker
子ノードがExpiration
ノードにありません。
原因
リクエスト本文XMLのExpiration
ノードにExpiredObjectDeleteMarker
子ノードがない場合、またはExpiredObjectDeleteMarker子ノードの値がfalseの場合は、Days
またはCreatedBeforeDate
子ノードを指定する必要があります。 それ以外の場合、リクエストエラーが発生します。
例
次のリクエスト本文XMLでは、Days
またはCreatedBeforeDate
の子ノードがExpiration
ノードにありません。
PUT /? ライフサイクルHTTP/1.1
ホスト: oss-example.oss.aliyuncs.com
コンテンツ-長さ: 336
日付: 5月6日月曜日2019 15:23:20 GMT
承認: OSSWnjl3fg9fdv8fg4b ****:Phuu8bBhS8dsff2a ****
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>rule1</ID>
<プレフィックス> zzz</プレフィックス>
<Status>Enabled</Status>
<Expiration>
</Expiration>
</ルール>
</LifecycleConfiguration>
ソリューション
リクエスト本文XMLで、
[Days]
または[CreatedBeforeDate]
子ノードを[Expiration]
ノードに追加します。Days: オブジェクトが最後に更新された後にライフサイクルルールが有効になる日数を指定します。
CreatedBeforeDate: 日付を指定します。 OSSは、最終変更日がこの日付より前のデータに対して指定された操作を実行します。 このパラメーターの値は、yyyy-MM-ddT00:00:00.000Z形式です。 ISO 8601標準で時間を指定します。 時刻はUTCで00:00:00である必要があります。
次の例は、
Days
子ノードをリクエスト本文XMLのExpiration
ノードに追加する方法を示しています。PUT /? ライフサイクルHTTP/1.1 ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com コンテンツ-長さ: 336 日付: 5月6日月曜日2019 15:23:20 GMT 承認: OSS Wnjl3fg9fdv8fg4b ****:Phuu8bBhS8dsff2a **** <?xml version="1.0" encoding="UTF-8"?> <LifecycleConfiguration> <Rule> <ID>rule1</ID> <プレフィックス> zzz</プレフィックス> <Status>Enabled</Status> <Expiration> <日> 200</日> </Expiration> </ルール> </LifecycleConfiguration>
OSSコンソールでライフサイクルルールを設定して、リクエストボディを手動で作成しないようにします。