最近更新时间:2023-01-11 10:41:09
bucket的生命周期说明可参照:生命周期管理。
/**
* 创建bucket生命周期
*
*/
public void putLifecycle() throws ParseException {
// yourBucket填写您的bucket的名称
String bucketName = "yourBucket";
// yourEndpoint填写Bucket所在地域对应的Endpoint。以中国(北京)为例,Endpoint填写为ks3-cn-beijing.ksyuncs.com。如果使用自定义域名,设置endpoint为自定义域名,同时设置domainMode为true
String endpoint = "yourEndpoint";
// 金山云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 创建Ks3ClientConfig 实例。
Ks3ClientConfig config = new Ks3ClientConfig();
// 设置域名
config.setEndpoint(endpoint);
config.setDomainMode(false);
// 创建Ks3Client实例
Ks3 client = new Ks3Client(accessKeyId, accessKeySecret, config);
// 规则1
Rule rule1 = new Rule();
// 设置规则ID,不可重复
rule1.setId("rule-1");
// 设置要匹配的文件的前缀
rule1.setPrefix("0001/");
// 设置过期时间,最后修改时间为该时间之前的文件将会在该日期+1天后过期删除
rule1.setExpirationDate(new SimpleDateFormat("yyyy-MM-dd").parse("2023-01-01"));
// 启用该规则
rule1.setStatus(Status.ENABLED);
// 规则2
Rule rule2 = new Rule();
rule2.setId("rule-2");
rule2.setStatus(Status.ENABLED);
rule2.setPrefix("0002/");
// 设置要匹配的文件的tag,可添加多个
rule2.setTagSet(Arrays.asList(new ObjectTag("key1", "value1"), new ObjectTag("key2", "value2")));
// 设置过期时间为文件的最后修改时间+130天
rule2.setExpirationInDays(130);
// 设置存储类型转:文件最后修改时间+10天后转为低频存储,文件最后修改时间+40天后转为归档存储
rule2.setStorageTransitions(Arrays.asList(new Transition(10, StorageClass.StandardInfrequentAccess), new Transition(40, StorageClass.Archive)));
// 创建bucket生命周期
client.putBucketLifecycle(bucketName, new BucketLifecycleConfiguration(Arrays.asList(rule1, rule2)));
}
/**
* 获取bucket生命周期
*
* @return 生命周期
*/
public BucketLifecycleConfiguration getLifecycle() {
// yourBucket填写您的bucket的名称
String bucketName = "yourBucket";
// yourEndpoint填写Bucket所在地域对应的Endpoint。以中国(北京)为例,Endpoint填写为ks3-cn-beijing.ksyuncs.com。如果使用自定义域名,设置endpoint为自定义域名,同时设置domainMode为true
String endpoint = "yourEndpoint";
// 金山云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 创建Ks3ClientConfig 实例。
Ks3ClientConfig config = new Ks3ClientConfig();
// 设置域名
config.setEndpoint(endpoint);
config.setDomainMode(false);
// 创建Ks3Client实例
Ks3 client = new Ks3Client(accessKeyId, accessKeySecret, config);
// 获取bucket生命周期
return client.getBucketLifecycle(bucketName);
}
/**
* 删除bucket生命周期
*/
public void deleteLifecycle() {
// yourBucket填写您的bucket的名称
String bucketName = "yourBucket";
// yourEndpoint填写Bucket所在地域对应的Endpoint。以中国(北京)为例,Endpoint填写为ks3-cn-beijing.ksyuncs.com。如果使用自定义域名,设置endpoint为自定义域名,同时设置domainMode为true
String endpoint = "yourEndpoint";
// 金山云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 创建Ks3ClientConfig 实例。
Ks3ClientConfig config = new Ks3ClientConfig();
// 设置域名
config.setEndpoint(endpoint);
config.setDomainMode(false);
// 创建Ks3Client实例
Ks3 client = new Ks3Client(accessKeyId, accessKeySecret, config);
// 删除bucket生命周期
client.deleteBucketLifecycle(bucketName);
}
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!