本文档提供关于生命周期的 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 rules = new ArrayList();// 规则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 standardIaTransitions = new ArrayList();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);
// 生成 bucketLifecycleConfigurationBucketLifecycleConfiguration bucketLifecycleConfiguration = new BucketLifecycleConfiguration();bucketLifecycleConfiguration.setRules(rules);
// 存储桶的命名格式为 BucketName-APPIDString 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 ruleLists = queryLifeCycleRet.getRules();
参数说明
参数名称 | 描述 | 类型 |
bucketName | 存储桶的命名格式为 BucketName-APPID,详情请参见 命名规范 | String |
返回结果说明
成功:返回 BucketLifecycleConfiguration 类, 包含存储桶的生命周期规则。失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。具体请参见 异常处理。
删除生命周期
功能说明
删除存储桶生命周期管理的配置(DELETE Bucket lifecycle)。
方法原型
public void deleteBucketLifecycleConfiguration(String bucketName)throws CosClientException, CosServiceException;
请求示例
//存储桶的命名格式为 BucketName-APPIDString bucketName = "examplebucket-1250000000";cosClient.deleteBucketLifecycleConfiguration(bucketName);
参数说明
参数名称 | 描述 | 类型 |
bucketName | 存储桶的命名格式为 BucketName-APPID,详情请参见 命名规范 | String |
返回结果说明
成功:无返回值。失败:发生错误(如身份认证失败),抛出异常 CosClientException 或者 CosServiceException。具体请参见 异常处理。
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/145767.html