生命周期

最后更新时间:2020-12-08 17:02:31

    本文档提供关于生命周期的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    PUT Bucket lifecycle 设置生命周期 设置存储桶的生命周期管理的配置
    GET Bucket lifecycle 查询生命周期 查询存储桶生命周期管理的配置
    DELETE Bucket lifecycle 删除生命周期 删除存储桶生命周期管理的配置

    设置生命周期

    功能说明

    设置指定存储桶的生命周期配置信息(PUT Bucket lifecycle)。

    方法原型

    public void setBucketLifecycleConfiguration(String bucketName, BucketLifecycleConfiguration bucketLifecycleConfiguration) 
            throws CosClientException, CosServiceException;

    请求示例

    List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<BucketLifecycleConfiguration.Rule>();
    // 规则1  30天后删除路径以 hongkong_movie/ 为开始的文件
    BucketLifecycleConfiguration.Rule deletePrefixRule = new BucketLifecycleConfiguration.Rule();
    deletePrefixRule.setId("delete prefix xxxy after 30 days");
    deletePrefixRule.setFilter(new LifecycleFilter(new LifecyclePrefixPredicate("hongkong_movie/")));
    // 文件上传或者变更后, 30天后删除
    deletePrefixRule.setExpirationInDays(30);
    // 设置规则为生效状态
    deletePrefixRule.setStatus(BucketLifecycleConfiguration.ENABLED);
    
    // 规则2  20天后沉降到低频,一年后删除
    BucketLifecycleConfiguration.Rule standardIaRule = new BucketLifecycleConfiguration.Rule();
    standardIaRule.setId("standard_ia transition");
    standardIaRule.setFilter(new LifecycleFilter(new LifecyclePrefixPredicate("standard_ia/")));
    List<BucketLifecycleConfiguration.Transition> standardIaTransitions = new ArrayList<BucketLifecycleConfiguration.Transition>();
    BucketLifecycleConfiguration.Transition standardTransition = new BucketLifecycleConfiguration.Transition();
    standardTransition.setDays(20);
    standardTransition.setStorageClass(StorageClass.Standard_IA.toString());
    standardIaTransitions.add(standardTransition);
    standardIaRule.setTransitions(standardIaTransitions);
    standardIaRule.setStatus(BucketLifecycleConfiguration.ENABLED);
    standardIaRule.setExpirationInDays(365);
    
    // 将两条规则添加到策略集合中
    rules.add(deletePrefixRule);
    rules.add(standardIaRule);
    
    // 生成 bucketLifecycleConfiguration
    BucketLifecycleConfiguration bucketLifecycleConfiguration =
            new BucketLifecycleConfiguration();
    bucketLifecycleConfiguration.setRules(rules);
    
    // 存储桶的命名格式为 BucketName-APPID
    String bucketName = "examplebucket-1250000000";
    SetBucketLifecycleConfigurationRequest setBucketLifecycleConfigurationRequest =
            new SetBucketLifecycleConfigurationRequest(bucketName, bucketLifecycleConfiguration);
    
    // 设置生命周期
    cosClient.setBucketLifecycleConfiguration(setBucketLifecycleConfigurationRequest);

    参数说明

    参数名称 描述 类型
    bucketName 存储桶的命名格式为 BucketName-APPID,详情请参见 命名规范 String
    bucketLifecycleConfiguration 生命周期配置 BucketLifecycleConfiguration

    返回结果说明

    • 成功:无返回值。
    • 失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。具体请参见 异常处理

    查询生命周期

    功能说明

    查询存储桶的生命周期管理配置(GET Bucket lifecycle)。

    方法原型

    public BucketLifecycleConfiguration getBucketLifecycleConfiguration(String bucketName)
    throws CosClientException, CosServiceException;
    

    请求示例

    // 存储桶的命名格式为 BucketName-APPID ,此处填写的存储桶名称必须为此格式
    String bucketName = "examplebucket-1250000000";
    BucketLifecycleConfiguration queryLifeCycleRet =
            cosClient.getBucketLifecycleConfiguration(bucketName);
    List<BucketLifecycleConfiguration.Rule> ruleLists = queryLifeCycleRet.getRules();

    参数说明

    参数名称 描述 类型
    bucketName 存储桶的命名格式为 BucketName-APPID,详情请参见 命名规范 String

    返回结果说明

    • 成功:返回 BucketLifecycleConfiguration 类, 包含存储桶的生命周期规则。
    • 失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。具体请参见 异常处理

    删除生命周期

    功能说明

    删除存储桶生命周期管理的配置(DELETE Bucket lifecycle)。

    方法原型

    public void deleteBucketLifecycleConfiguration(String bucketName)
    throws CosClientException, CosServiceException;

    请求示例

    //存储桶的命名格式为 BucketName-APPID
    String bucketName = "examplebucket-1250000000";
    cosClient.deleteBucketLifecycleConfiguration(bucketName);

    参数说明

    参数名称 描述 类型
    bucketName 存储桶的命名格式为 BucketName-APPID,详情请参见 命名规范 String

    返回结果说明

    • 成功:无返回值。
    • 失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。具体请参见 异常处理