空间管理

更新时间:2025-08-18 15:54:14

存储空间管理

1. 列举存储空间

您可以通过WosClient.listBuckets列举存储空间。以下代码展示如何获取空间列表:

String endPoint = "https://your-endpoint";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建WosClient实例
WosClient wosClient = new WosClient(ak, sk, endPoint, regionName);

// 列举空间
List<WosBucket> buckets = wosClient.listBuckets();
for(WosBucket bucket : buckets){
    System.out.println("BucketName:" + bucket.getBucketName());
    System.out.println("CreationDate:" + bucket.getCreationDate());
    System.out.println("Endpoint:" + bucket.getEndpoint());
}

说明:返回的空间列表将按存储空间名字典序排列。

2. 查询Bucket是否存在

您可通过WosClient.headBucket判断空间是否存在。以下代码展示如何判断指定空间是否存在:

String endPoint = "https://your-endpoint";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建WosClient实例
WosClient wosClient = new WosClient(ak, sk, endPoint, regionName);

boolean exists = wosClient.headBucket("bucketname");

生命周期管理

WOS允许您对空间设置生命周期规则,实现自动转换对象的存储类型、自动淘汰过期的对象,以有效利用存储特性,优化存储空间。针对不同前缀的对象,您可以同时设置多条规则。一条规则包含:

  • 规则ID,用于标识一条规则,不能重复。
  • 受影响的对象前缀,此规则只作用于符合前缀的对象。
  • 最新版本对象的转换策略,指定方式为:
  • 指定满足前缀的对象创建后第几天时转换为指定的存储类型。
  • 直接指定满足前缀的对象转换为指定的存储类型的日期。
  • 最新版本对象过期时间,指定方式为:
  • 指定满足前缀的对象创建后第几天时过期。
  • 直接指定满足前缀的对象过期日期。
  • 是否生效标识。

1.设置生命周期规则

您可以通过WosClient.setBucketLifecycleConfiguration设置空间的生命周期规则。

String endPoint = "https://your-endpoint";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";

// 创建WosClient实例
WosClient wosClient = new WosClient(ak, sk, endPoint, regionName);

final String ruleId = "delete obsoleted files";
final String matchPrefix = "obsoleted/";

StringBuffer sb = new StringBuffer();

LifecycleConfiguration lifecycleConfig = new LifecycleConfiguration();
LifecycleConfiguration.Rule rule = lifecycleConfig.new Rule();
rule.setEnabled(true);
rule.setId(ruleId);
rule.setPrefix(matchPrefix);
LifecycleConfiguration.Expiration expiration = lifecycleConfig.new Expiration();
expiration.setDays(10);

rule.setExpiration(expiration);
lifecycleConfig.addRule(rule);

sb.append("Setting bucket lifecycle\n\n");
HeaderResponse headerResponse = wosClient.setBucketLifecycleConfiguration(bucketName, lifecycleConfig);
System.out.println(headerResponse);

2.查看生命周期规则

您可以通过WosClient.getBucketLifecycle查看空间的生命周期规则。以下代码展示了如何查看空间的生命周期规则:

String endPoint = "https://your-endpoint";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建WosClient实例
WosClient wosClient = new WosClient(ak, sk, endPoint, regionName);

LifecycleConfiguration config = wosClient.getBucketLifecycle("bucketname");

for (Rule rule : config.getRules())
{
    System.out.println(rule.getId());
    System.out.println(rule.getPrefix());
    for(Transition transition : rule.getTransitions()){
        System.out.println(transition.getDays());
        System.out.println(transition.getStorageClass());
    }
    System.out.println(rule.getExpiration() != null ? rule.getExpiration().getDays() : "");
}

3.删除生命周期规则

您可以通过WosClient.deleteBucketLifecycle删除空间的生命周期规则。以下代码展示了如何删除空间的生命周期规则:

String endPoint = "https://your-endpoint";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建WosClient实例
WosClient wosClient = new WosClient(ak, sk, endPoint, regionName);

wosClient.deleteBucketLifecycle("bucketname");
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!