在生命周期规则配置中,您可以指定生命周期规则生效的条件。生命周期规则可针对前缀(Prefix)或对象标签(Tag)生效,您也可以同时指定两者作为条件。
说明
标签条件中标签的Key和Value必须同时匹配。同一个规则中,如果同时配置了前缀和多个对象标签,则只有同时满足前缀且匹配规则中所有对象标签的对象(Object),才视为适用于该规则。
生命周期规则中添加标签匹配规则
以下代码用于生命周期规则中添加标签匹配规则:
const OSS = require('ali-oss')
const client = new OSS({
// yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
region: 'yourregion',
// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// yourbucketname填写存储空间名称。
bucket: 'yourbucketname'
});
// 设置匹配的标签。
const tag = [{
key: 'key1',
value: 'value1'
},{
key: 'key2',
value: 'value2'
}]
client.putBucketLifecycle('yourBucketName', [{
// 指定生命周期规则ID为rule1。
id: 'rule1',
// 将规则应用于前缀为“one”的object中。
prefix: 'one',
status: 'Enabled',
expiration: {
// 指定生命周期规则在object最后更新过后60天过期。
days: 60
},
// 指定生命周期规则在object最后更新过后10天转为低频访问存储类型(IA)。
transition: {
days: 10,
storageClass: 'IA'
},
tag
}]);
查看生命周期规则中匹配的标签信息
以下代码用于查看生命周期规则中匹配的标签信息:
const OSS = require('ali-oss')
const client = new OSS({
// yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
region: 'yourregion',
// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// yourbucketname填写存储空间名称。
bucket: 'yourbucketname'
});
async function getBucketLifecycle() {
try {
const result = await client.getBucketLifecycle('peiyu-demo-2s')
console.log(result)
// 查看生命周期规则中匹配的标签信息。
if (result.rules) {
result.rules.forEach(rule => {
if (rule.tag) {
rule.tag.forEach(tag => {
console.log(`key: ${tag.key}, value: ${tag.value}`)
})
}
})
}
} catch (error) {
console.log(error)
}
}
getBucketLifecycle();
相关文档
关于生命周期规则的完整示例代码,请参见GitHub示例。
关于设置生命周期规则的API接口说明,请参见PutBucketLifecycle。
关于查看生命周期规则的API接口说明,请参见GetBucketLifecycle。
文档内容是否对您有帮助?