すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:0014-00000060

最終更新日:Mar 20, 2026

問題の説明

PutBucketLifecycle リクエストが失敗するのは、リクエストボディの XML 内にある Expiration 要素に必須の子要素が含まれていないためです。

原因

Expiration 要素に ExpiredObjectDeleteMarker が存在しない場合、またはその値が false の場合は、Days または CreatedBeforeDate のいずれかを必ず含める必要があります。両方を省略すると、リクエストは失敗します。

以下のリクエストボディでは、Expiration 要素に子要素がまったく含まれていないため、エラーが発生します。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Mon , 6 May 2019 15:23:20 GMT
Authorization: OSS LTAI**************:77Dv****************

<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule1</ID>
    <Prefix>zzz</Prefix>
    <Status>Enabled</Status>
    <Expiration>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

ソリューション

リクエストボディの XML 内にある Expiration 要素に、以下のいずれかの子要素を追加してください。

要素説明形式
Daysオブジェクトの最終更新日からライフサイクルルールを適用するまでの日数整数
CreatedBeforeDateカットオフ日。OSS はこの日付より前に最終更新されたオブジェクトに対してライフサイクルアクションを適用しますyyyy-MM-ddT00:00:00.000Z(ISO 8601、協定世界時 (UTC))

オプション 1:Days を使用する

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 LTAI**************:77Dv****************

<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule1</ID>
    <Prefix>zzz</Prefix>
    <Status>Enabled</Status>
    <Expiration>
      <Days>200</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

オプション 2:CreatedBeforeDate を使用する

<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule1</ID>
    <Prefix>zzz</Prefix>
    <Status>Enabled</Status>
    <Expiration>
      <CreatedBeforeDate>2024-01-01T00:00:00.000Z</CreatedBeforeDate>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

また、リクエストボディを手動で作成せずに、OSS コンソールでライフサイクルルールを設定することもできます。

参考文献