文档中心 > PutBucketLifecycle
PutBucketLifecycle

最近更新时间:2021-10-08

设置bucket的生命周期配置,如果存在,替换现有的生命周期配置。


请求

请求语法

PUT /?lifecycle HTTP/1.1
Host: examplebucket.region.unicloudsrv.com
Content-Length: length
Date: date
Authorization: authorization string
Content-MD5: MD5

<LifecycleConfiguration>
  <Rule>
      <AbortIncompleteMultipartUpload>
          <DaysAfterInitiation>integer</DaysAfterInitiation>
      </AbortIncompleteMultipartUpload>
      <Expiration>
          <Date>timestamp</Date>
          <Days>integer</Days>
          <ExpiredObjectDeleteMarker>boolean</ExpiredObjectDeleteMarker>
      </Expiration>
      <Filter>
          <And>
              <Prefix>string</Prefix>
              <Tag>
              <Key>string</Key>
              <Value>string</Value>
              </Tag>
              ...
          </And>
          <Prefix>string</Prefix>
          <Tag>
              <Key>string</Key>
              <Value>string</Value>
          </Tag>
      </Filter>
      <ID>string</ID>
      <NoncurrentVersionExpiration>
          <NoncurrentDays>integer</NoncurrentDays>
      </NoncurrentVersionExpiration>
      <NoncurrentVersionTransition>
          <NoncurrentDays>integer</NoncurrentDays>
          <StorageClass>string</StorageClass>
      </NoncurrentVersionTransition>
      ...
      <Status>string</Status>
      <Transition>
          <Date>timestamp</Date>
          <Days>integer</Days>
          <StorageClass>string</StorageClass>
      </Transition>
      ...
  </Rule>
  ...
</LifecycleConfiguration>

请求参数

参数

描述

必填

LifecycleConfiguration

XML根级别标签

YES

Rule

单个生命周期规则

YES

AbortIncompleteMultipartUpload

中止并删除到指定天数未完成的多片上传

NO

DaysAfterInitiation

指定中止不完整的多部分上传的天数

NO

Expiration

对象生命周期过期时间

NO

Date

指定一个日期

NO

Days

指定天数

NO

ExpiredObjectDeleteMarker

没有历史版本,当前版本为DeleteMarker起作用

NO

Filter

基于对象前缀名(Prefix)和标签(Tag)或者组合进行筛选

NO

And

实现多条件筛选

NO

Prefix

用于筛选对象

NO

Tag

用于筛选对象

NO

ID

规则唯一标识

NO

Status

规则状态:Enabled打开,Disabled关闭

YES

Transition

对象转换为指定的存储类

NO

StorageClass

指定存储类型

NO

NoncurrentVersionExpiration

指定历史版本对象过期时间

NO

NoncurrentDays

指定天数

NO

NoncurrentVersionTransition

历史版本对象转换为指定版本

NO

 

参数说明

  • 设置生命周期目前最多设置100条rule

  • 虽然AbortIncompleteMultipartUpload、Expiration、Transition、NoncurrentVersionExpiration、NoncurrentVersionTransitions均为非必填,但rule中必须要指定一个操作要求

  • Filter如果没有指定,默认将规则应用于桶内全部对象

  • 单个规则只能指定一个Prefix,Prefix没有设置,默认应用于全部对象

  • 如果通过And设置筛选,只能在And中设置Prefix和Tag

  • 单个规则只能指定一个Expiration,支持设置多个Transition

  • Expiration和Transition的Date和Days有且只能设置一个

  • Expiration的ExpiredObjectDeleteMarker:开启多版本的桶,当前版本是deleteMarker,并且对象的历史版本已经没有,此时当前版本的deleteMarker叫做ExpiredObjectDeleteMarker;设置后OSS会将符合要求的deleteMarker删掉

  • Tag目前还不支持


示例

请求示例 

PUT /?lifecycle HTTP/1.1
Host: test.oss-cn-north-1.unicloudsrv.com
x-amz-date: Tue, 21 Aug 2012 17:54:50 GMT
Content-MD5: q6yJDlIkcBaGGfb3QLY69A==
Authorization: authorization string
Content-Length: 415
<LifecycleConfiguration>
  <Rule>
      <ID>id1</ID>
      <Filter>
      <Prefix>documents/</Prefix>
      </Filter>
      <Status>Enabled</Status>
      <Transition>
      <Days>30</Days>
      <StorageClass>GLACIER</StorageClass>
      </Transition>
  </Rule>
  <Rule>
      <ID>id2</ID>
      <Filter>
      <Prefix>logs/</Prefix>
      </Filter>
      <Status>Disabled</Status>
      <Expiration>
      <Days>365</Days>
      </Expiration>
  </Rule>
</LifecycleConfiguration> 

返回示例

HTTP/1.1 200 OK
x-amz-id-2: r+qR7+nhXtJDDIJ0JJYcd+1j5nM/rUFiiiZ/fNbDOsd3JUE8NWMLNHXmvPfwMpdc
x-amz-request-id: 9E26D08072A8EF9E
Date: Wed, 14 May 2014 02:11:22 GMT
Content-Length: 0