开发者社区> 问答> 正文

JavaScript-SDK之如何实现管理生命周期?

OSS允许用户对Bucket设置生命周期规则,以自动淘汰过期掉的文件,节省存储空间。用户可以同时设置多条规则,一条规则包含:

  • 规则ID,用于标识一条规则,不能重复
  • 受影响的文件前缀,此规则只作用于符合前缀的文件
  • 过期时间,有两种指定方式:
    1. 指定距文件最后修改时间N天过期
    2. 指定在具体的某一天过期,即在那天之后符合前缀的文件将会过期,[backcolor=transparent]而不论文件的最后修改时间。不推荐使用。
  • 是否生效

更多关于生命周期的内容请参考 文件生命周期

设置生命周期规则


通过putBucketLifecycle来设置生命周期规则: var co = require('co');
var OSS = require('ali-oss')
var client = new OSS({
  region: '<Your region>'
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>',
  bucket: '<Your bucket name>'
});
co(function* () {
  var result = yield client.putBucketLifecycle('bucket-name', 'region', [
    {
      id: 'rule1',
      status: 'Enabled',
      prefix: 'foo/',
      days: 3
    },
    {
      id: 'rule2',
      status: 'Disabled',
      date: '2022-10-11T00:00:00.000Z'
    }
  ]);
  console.log(result);
}).catch(function (err) {
  console.log(err);
});



查看生命周期规则


通过getBucketLifecycle来查看生命周期规则: var co = require('co');
var OSS = require('ali-oss')
var client = new OSS({
  region: '<Your region>'
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>',
  bucket: '<Your bucket name>'
});
co(function* () {
  var result = yield client.getBucketLifecycle('bucket-name', 'region');
  console.log(result);
}).catch(function (err) {
  console.log(err);
});



清空生命周期规则


通过deleteBucketLifecycle设置一个空的Rule数组来清空生命周期规则: var co = require('co');
var OSS = require('ali-oss')
var client = new OSS({
  region: '<Your region>'
  accessKeyId: '<Your AccessKeyId>',
  accessKeySecret: '<Your AccessKeySecret>',
  bucket: '<Your bucket name>'
});
co(function* () {
  var result = yield client.deleteBucketLifecycle('bucket-name', 'region');
  console.log(result);
}).catch(function (err) {
  console.log(err);
});

展开
收起
青衫无名 2017-10-19 09:46:07 1705 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载