Bucket生命周期管理
更新时间:2023-09-18
应用场景
一个数据是有其生命周期的,从创建到归档到删除可以认为是一个完整的循环。创建之初的数据往往需要频繁访问读取,之后迅速冷却归档,最终被删除。生命周期管理就是对象存储服务帮助用户自动化管理数据的生命周期。 通常可以服务于以下场景:
- 数据达到一定寿命后自动归档或删除。
- 指定时间执行操作。
新建Lifecycle配置
- 基本流程
- 创建BosClient。
- 调用putBucketLifecycle()方法
- 示例代码
const rules = {
id: 'rules1',
status: 'enabled',
action: {
name: 'Transition',
storageClass: 'STANDARD_IA',
resource: ['baidubosmty2/*'],
condition: {
time: {
dateGreaterThan: 'XXXX-XX-XXTXX:XX:XXZ'
}
}
}
}
client.putBucketLifecycle(<bucketName>,<rules>)
.then(function(response){
// 操作
})
.catch(err){}
注意:
- 只有Bucket的Owner拥有full control才能够进行此操作。
- "resource"指明规则对哪些资源生效。例如,对samplebucket里以
prefix/
为前缀的Object生效:samplebucket/prefix/*
;对samplebucket里所有Object生效:samplebucket/*
。 生命周期管理功能相关参数的详细解释及配置注意事项请参见PutBucketLifecycle接口。
读取Bucket的Lifecycle配置
- 基本流程
- 创建BosClient。
- 调用getBucketLifecycle()方法
- 示例代码
client.getBucketLifecycle(<bucketName>)
.then(function(response){
if (resnpose) {
console.log('lifecycle rules', response)
}
})
.catch(err){}
删除Bucket Lifecycle
- 基本流程
- 创建BosClient。
- 调用deleteBucketLifecycle()方法
- 示例代码
client.deleteBucketLifecycle(<bucketName>)
.then(function(response){
// 操作
})
.catch(err){}