-
Notifications
You must be signed in to change notification settings - Fork 146
/
Copy pathBucketIntelligentTierDemo.java
79 lines (69 loc) · 3.82 KB
/
BucketIntelligentTierDemo.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.qcloud.cos.demo;
import com.qcloud.cos.COSClient;
import com.qcloud.cos.ClientConfig;
import com.qcloud.cos.auth.BasicCOSCredentials;
import com.qcloud.cos.auth.COSCredentials;
import com.qcloud.cos.exception.CosClientException;
import com.qcloud.cos.exception.CosServiceException;
import com.qcloud.cos.http.HttpProtocol;
import com.qcloud.cos.model.BucketIntelligentTierConfiguration;
import com.qcloud.cos.model.IntelligentTiering.BucketIntelligentTieringConfiguration;
import com.qcloud.cos.model.SetBucketIntelligentTierConfigurationRequest;
import com.qcloud.cos.region.Region;
import java.util.List;
public class BucketIntelligentTierDemo {
private static String secretId = System.getenv("SECRETID");
private static String secretKey = System.getenv("SECRETKEY");
private static String bucketName = System.getenv("BUCKET_NAME");
private static String region = System.getenv("REGION");
private static COSClient cosClient = createCli();
public static void main(String[] args) {
try {
setBucketIntelligentTieringConfiguration();
getBucketIntelligentTieringConfiguration();
} catch (Exception e) {
e.printStackTrace();
} finally {
cosClient.shutdown();
}
}
private static COSClient createCli() {
// 初始化用户身份信息(secretId, secretKey)
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
// 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
ClientConfig clientConfig = new ClientConfig(new Region(region));
clientConfig.setHttpProtocol(HttpProtocol.http);
// 生成cos客户端
return new COSClient(cred, clientConfig);
}
private static void setBucketIntelligentTieringConfiguration() {
BucketIntelligentTierConfiguration bucketIntelligentTierConfiguration = new BucketIntelligentTierConfiguration();
bucketIntelligentTierConfiguration.setStatus(BucketIntelligentTierConfiguration.ENABLED);
bucketIntelligentTierConfiguration.setTransition(new BucketIntelligentTierConfiguration.Transition(30));
SetBucketIntelligentTierConfigurationRequest setBucketIntelligentTierConfigurationRequest = new SetBucketIntelligentTierConfigurationRequest();
setBucketIntelligentTierConfigurationRequest.setBucketName(bucketName);
setBucketIntelligentTierConfigurationRequest.setIntelligentTierConfiguration(bucketIntelligentTierConfiguration);
cosClient.setBucketIntelligentTieringConfiguration(setBucketIntelligentTierConfigurationRequest);
System.out.println("finish setting bucket intelligent tiering configuration");
}
private static void getBucketIntelligentTieringConfiguration() {
BucketIntelligentTierConfiguration bucketIntelligentTierConfiguration1 = cosClient.getBucketIntelligentTierConfiguration(bucketName);
System.out.println("finish getting bucket intelligent tiering configuration");
System.out.println(bucketIntelligentTierConfiguration1.getStatus());
System.out.println(bucketIntelligentTierConfiguration1.getTransition().getDays());
}
private static void listBucketIntelligentTieringConfiguration() {
try {
List<BucketIntelligentTieringConfiguration> configurations = cosClient.listBucketIntelligentTieringConfiguration(bucketName);
if (configurations == null) {
System.out.println("The Intelligenttiering configuration was not found about the specified bucket.");
} else {
System.out.println("finish list bucket intelligent tiering configuration");
}
} catch (CosServiceException cse) {
cse.printStackTrace();
} catch (CosClientException cce) {
cce.printStackTrace();
}
}
}