设置生命周期规则

putBucketLifecycle接口用于设置存储空间(Bucket)的生命周期规则。生命周期规则开启后,将按照配置规则指定的时间,自动转换与规则相匹配的文件(Object)的存储类型或将其删除。

var params = {
  Bucket: 'STRING_VALUE', /* required */
  ContentMD5: 'STRING_VALUE',
  ExpectedBucketOwner: 'STRING_VALUE',
  LifecycleConfiguration: {
    Rules: [ /* required */
      {
        Prefix: 'STRING_VALUE', /* required */
        Status: Enabled | Disabled, /* required */
        AbortIncompleteMultipartUpload: {
          DaysAfterInitiation: 'NUMBER_VALUE'
        },
        Expiration: {
          Date: new Date || 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)' || 123456789,
          Days: 'NUMBER_VALUE',
          ExpiredObjectDeleteMarker: true || false
        },
        ID: 'STRING_VALUE',
        NoncurrentVersionExpiration: {
          NoncurrentDays: 'NUMBER_VALUE'
        },
        NoncurrentVersionTransition: {
          NoncurrentDays: 'NUMBER_VALUE',
          StorageClass: GLACIER | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | DEEP_ARCHIVE
        },
        Transition: {
          Date: new Date || 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)' || 123456789,
          Days: 'NUMBER_VALUE',
          StorageClass: GLACIER | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | DEEP_ARCHIVE
        }
      },
      /* more items */
    ]
  }
};
s3Client.putBucketLifecycle(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});      

主要参数说明:

名称 类型 描述
LifecycleConfiguration 容器 Lifecycle配置的容器,最多可容纳1000条规则。
Rules 容器 生命周期规则的容器。
Prefix 字符串 指定规则所适用的前缀,Prefix不可重复,若指定了Prefix,则表示此规则仅适用于Bucket中与Prefix匹配的Object,若Prefix置空,则表示此规则适用于Bucket中的所有Object。
Status 字符串 如果值为Enabled,那么OOS会定期执行该规则;如果为Disabled,那么OOS会忽略该规则。
Expiration 容器 指定Object生命周期规则的过期属性。对于受版本控制的Bucket,指定的过期属性只对Object的当前版本生效。
ID 字符串 标识规则的唯一ID。最多由255个字节组成。如没有指定,或者该值为空时,OOS会自动生成一个唯一ID。