管理存储空间生命周期(JAVA)

最近更新时间:2023-01-11 10:41:09

创建bucket生命周期

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生命周期

/**
 * 获取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生命周期

/**
 * 删除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);
}

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈