全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

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

最近更新时间:2024-09-05 11:30:40

创建Bucket生命周期

Bucket的生命周期说明可参照:生命周期管理

/**
 * 创建Bucket生命周期
 */
public void putLifecycle() throws ParseException {
    // 初始化 KS3Client,详情请参见文档:https://docs.ksyun.com/documents/40559
    Ks3Client client = initClient();

    // 规则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)));

    // 规则 3,文件和碎片的过期规则
    Rule rule3 = new Rule();
    rule3.setId("rule-3");
    rule3.setStatus(Status.ENABLED);
    // 设置要匹配的文件的前缀
    rule3.setPrefix("0003/");
    // 设置过期时间为文件最后修改时间 +100 天
    rule3.setExpirationInDays(100);
    // 设置指定日期作为过期时间
    // rule3.setExpirationDate(date);
    AbortMultipartUpload abortMultipartUpload = new AbortMultipartUpload();
    // 碎片的过期时间为 init multi upload 的时间 +15 天
    abortMultipartUpload.setExpirationDays(15);
    // 设置指定日期作为碎片的过期时间
    // abortMultipartUpload.setExpirationDate(date);
    rule3.setAbortMultipartUpload(abortMultipartUpload);

    // 生命周期配置
    BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration(Arrays.asList(rule1, rule2, rule3));
    // 支持前缀重叠
    configuration.setAllowSameActionOverlap(true);
    // 创建Bucket生命周期
    client.putBucketLifecycle(bucketName, configuration);
}

获取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);
}

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈