Skip to content

Commit b8cc2ea

Browse files
authored
Merge pull request #199 from tencentyun/dev/update_demo
update Demo
2 parents c75087e + 96de4ab commit b8cc2ea

13 files changed

+229
-424
lines changed
Lines changed: 39 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.qcloud.cos.demo;
22

3-
import java.util.LinkedList;
43
import java.util.List;
54

65
import com.qcloud.cos.COSClient;
@@ -10,155 +9,74 @@
109
import com.qcloud.cos.exception.CosClientException;
1110
import com.qcloud.cos.exception.CosServiceException;
1211
import com.qcloud.cos.model.Bucket;
13-
import com.qcloud.cos.model.BucketLoggingConfiguration;
14-
import com.qcloud.cos.model.BucketTaggingConfiguration;
15-
import com.qcloud.cos.model.BucketVersioningConfiguration;
1612
import com.qcloud.cos.model.CannedAccessControlList;
1713
import com.qcloud.cos.model.CreateBucketRequest;
18-
import com.qcloud.cos.model.SetBucketLoggingConfigurationRequest;
19-
import com.qcloud.cos.model.SetBucketTaggingConfigurationRequest;
20-
import com.qcloud.cos.model.SetBucketVersioningConfigurationRequest;
21-
import com.qcloud.cos.model.TagSet;
2214
import com.qcloud.cos.region.Region;
2315

2416
/**
2517
* 展示了创建bucket, 删除bucket, 查询bucket是否存在的demo
2618
*
2719
*/
2820
public class BucketDemo {
29-
public static void main(String[] args) {
30-
listBuckets();
31-
}
32-
// 创建bucket
33-
private static void createBucketDemo() {
34-
// 1 初始化用户身份信息(appid, secretId, secretKey)
35-
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
36-
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
37-
ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing-1"));
38-
// 3 生成cos客户端
39-
COSClient cosclient = new COSClient(cred, clientConfig);
40-
// bucket名称, 需包含appid
41-
String bucketName = "publicreadbucket-12500000000";
42-
43-
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
44-
// 设置bucket的权限为PublicRead(公有读私有写), 其他可选有私有读写, 公有读私有写
45-
createBucketRequest.setCannedAcl(CannedAccessControlList.PublicRead);
46-
Bucket bucket = cosclient.createBucket(createBucketRequest);
47-
48-
// 关闭客户端
49-
cosclient.shutdown();
50-
}
51-
52-
// 开启 bucket 版本控制
53-
private static void setBucketVersioning() {
54-
// 1 初始化用户身份信息(appid, secretId, secretKey)
55-
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
56-
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
57-
ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing-1"));
58-
// 3 生成cos客户端
59-
COSClient cosclient = new COSClient(cred, clientConfig);
60-
// bucket名称, 需包含appid
61-
String bucketName = "examplebucket-12500000000";
21+
private static String secretId = "AKIDXXXXXXXX";
22+
private static String secretKey = "1A2Z3YYYYYYYYYY";
23+
private static String cosRegion = "ap-guangzhou";
24+
private static String bucketName = "examplebucket-12500000000";
25+
private static COSClient cosClient = createCli();
6226

63-
// 开启版本控制
64-
BucketVersioningConfiguration bucketVersioningConfiguration = new BucketVersioningConfiguration(BucketVersioningConfiguration.ENABLED);
65-
// 关闭版本控制
66-
//BucketVersioningConfiguration bucketVersioningConfiguration = new BucketVersioningConfiguration(BucketVersioningConfiguration.SUSPENDED);
67-
SetBucketVersioningConfigurationRequest setBucketVersioningConfigurationRequest = new SetBucketVersioningConfigurationRequest(bucketName, bucketVersioningConfiguration);
68-
cosclient.setBucketVersioningConfiguration(setBucketVersioningConfigurationRequest);
69-
70-
cosclient.shutdown();
27+
public static void main(String[] args) {
28+
try {
29+
createBucketDemo();
30+
judgeBucketExistDemo();
31+
listBuckets();
32+
deleteBucketDemo();
33+
} catch (Exception e) {
34+
e.printStackTrace();
35+
} finally {
36+
cosClient.shutdown();
37+
}
7138
}
7239

73-
// 开启日志存储
74-
private static void setBucketLogging() {
40+
private static COSClient createCli() {
7541
// 1 初始化用户身份信息(appid, secretId, secretKey)
76-
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
42+
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
7743
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
78-
ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing-1"));
44+
ClientConfig clientConfig = new ClientConfig(new Region(cosRegion));
7945
// 3 生成cos客户端
8046
COSClient cosclient = new COSClient(cred, clientConfig);
81-
// bucket名称, 需包含appid
82-
String bucketName = "examplebucket-12500000000";
8347

84-
BucketLoggingConfiguration bucketLoggingConfiguration = new BucketLoggingConfiguration();
85-
// 设置日志存储的 bucket
86-
bucketLoggingConfiguration.setDestinationBucketName(bucketName);
87-
// 设置日志存储的前缀
88-
bucketLoggingConfiguration.setLogFilePrefix("logs/");
89-
SetBucketLoggingConfigurationRequest setBucketLoggingConfigurationRequest =
90-
new SetBucketLoggingConfigurationRequest(bucketName, bucketLoggingConfiguration);
91-
cosclient.setBucketLoggingConfiguration(setBucketLoggingConfigurationRequest);
48+
return cosclient;
9249
}
9350

94-
// 使用 bucket tag
95-
private static void setGetDeleteBucketTagging() {
96-
// 1 初始化用户身份信息(secretId, secretKey)
97-
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
98-
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
99-
ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou"));
100-
// 3 生成cos客户端
101-
COSClient cosclient = new COSClient(cred, clientConfig);
102-
// bucket名需包含appid
103-
String bucketName = "mybucket-12500000000";
104-
List<TagSet> tagSetList = new LinkedList<TagSet>();
105-
TagSet tagSet = new TagSet();
106-
tagSet.setTag("age", "18");
107-
tagSet.setTag("name", "xiaoming");
108-
tagSetList.add(tagSet);
109-
BucketTaggingConfiguration bucketTaggingConfiguration = new BucketTaggingConfiguration();
110-
bucketTaggingConfiguration.setTagSets(tagSetList);
111-
SetBucketTaggingConfigurationRequest setBucketTaggingConfigurationRequest =
112-
new SetBucketTaggingConfigurationRequest(bucketName, bucketTaggingConfiguration);
113-
cosclient.setBucketTaggingConfiguration(setBucketTaggingConfigurationRequest);
114-
115-
cosclient.getBucketTaggingConfiguration(bucketName);
116-
cosclient.deleteBucketTaggingConfiguration(bucketName);
51+
// 创建bucket
52+
private static void createBucketDemo() {
53+
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
54+
// 设置bucket的权限为PublicRead(公有读私有写), 其他可选有私有读写, 公有读私有写
55+
createBucketRequest.setCannedAcl(CannedAccessControlList.PublicRead);
56+
Bucket bucket = cosClient.createBucket(createBucketRequest);
57+
System.out.println("create bucket, bucketName is " + bucket.getName());
11758
}
11859

11960
// 删除bucket, 只用于空bucket, 含有数据的bucket需要在删除前清空删除。
12061
private static void deleteBucketDemo() {
121-
// 1 初始化用户身份信息(appid, secretId, secretKey)
122-
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
123-
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
124-
ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing-1"));
125-
// 3 生成cos客户端
126-
COSClient cosclient = new COSClient(cred, clientConfig);
127-
// bucket名称, 需包含appid
128-
String bucketName = "publicreadbucket-12500000000";
12962
// 删除bucket
130-
cosclient.deleteBucket(bucketName);
131-
132-
// 关闭客户端
133-
cosclient.shutdown();
63+
cosClient.deleteBucket(bucketName);
64+
System.out.println("delete bucket, bucketName is " + bucketName);
13465
}
13566

13667
// 查询bucket是否存在
13768
private static void judgeBucketExistDemo() {
138-
// 1 初始化用户身份信息(appid, secretId, secretKey)
139-
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
140-
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
141-
ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing-1"));
142-
// 3 生成cos客户端
143-
COSClient cosclient = new COSClient(cred, clientConfig);
144-
145-
String bucketName = "publicreadbucket-12500000000";
14669
// 判断bucket是否存在
147-
cosclient.doesBucketExist(bucketName);
148-
149-
// 关闭客户端
150-
cosclient.shutdown();
70+
boolean isExist = cosClient.doesBucketExist(bucketName);
71+
if (isExist) {
72+
System.out.println(bucketName + " is exist");
73+
} else {
74+
System.out.println(bucketName + " is not exist");
75+
}
15176
}
15277

15378
private static void listBuckets() {
154-
// 1 初始化用户身份信息(appid, secretId, secretKey)
155-
COSCredentials cred = new BasicCOSCredentials("AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "****************************");
156-
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
157-
ClientConfig clientConfig = new ClientConfig(new Region("ap-shanghai"));
158-
// 3 生成cos客户端
159-
COSClient cosclient = new COSClient(cred, clientConfig);
160-
161-
List<Bucket> buckets = cosclient.listBuckets();
79+
List<Bucket> buckets = cosClient.listBuckets();
16280

16381
for (Bucket bucket : buckets) {
16482
System.out.println(bucket.getName());
@@ -171,24 +89,15 @@ private static void listBuckets() {
17189

17290
//创多AZ桶
17391
private static void createMAZBucketDemo() {
174-
// 1 初始化用户身份信息(appid, secretId, secretKey)
175-
COSCredentials cred = new BasicCOSCredentials("AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "****************************");
176-
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
177-
ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou"));
178-
// 3 生成cos客户端
179-
COSClient cosclient = new COSClient(cred, clientConfig);
180-
181-
String bucketname = "publicreadbucket-12500000000";
182-
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketname);
92+
CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
18393

18494
try {
185-
cosclient.createMAZBucket(createBucketRequest);
95+
Bucket bucket = cosClient.createMAZBucket(createBucketRequest);
96+
System.out.println("create MAZ bucket, bucketName is " + bucket.getName());
18697
} catch (CosServiceException cse) {
18798
cse.printStackTrace();
18899
} catch (CosClientException cce) {
189100
cce.printStackTrace();
190-
} finally {
191-
cosclient.shutdown();
192101
}
193102
}
194103
}

src/main/java/com/qcloud/cos/demo/BucketInventoryDemo.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
import java.util.List;
2727

2828
public class BucketInventoryDemo {
29+
public static void main(String[] args) {
30+
setGetDeleteBucketInventoryDemo();
31+
setBucketInventoryDemo();
32+
}
33+
2934
private static void setGetDeleteBucketInventoryDemo() {
3035
// 1 初始化用户身份信息(secretId, secretKey)
3136
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
@@ -139,9 +144,4 @@ private static void setBucketInventoryDemo() {
139144
cosclient.setBucketInventoryConfiguration(request);
140145
cosclient.shutdown();
141146
}
142-
143-
public static void main(String[] args) {
144-
setGetDeleteBucketInventoryDemo();
145-
setBucketInventoryDemo();
146-
}
147147
}

src/main/java/com/qcloud/cos/demo/BucketLifecycleDemo.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717

1818

1919
public class BucketLifecycleDemo {
20+
private static String secretId = "AKIDXXXXXXXX";
21+
private static String secretKey = "1A2Z3YYYYYYYYYY";
22+
private static String cosRegion = "ap-guangzhou";
2023
private static String bucketName = "example-12500000000";
2124
private static COSClient cosClient = COSBuilder();
2225

@@ -30,9 +33,9 @@ public static void main(String[] args) throws InterruptedException {
3033

3134
private static COSClient COSBuilder() {
3235
// 初始化用户身份信息(secretId, secretKey)
33-
COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
36+
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
3437
// 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
35-
ClientConfig clientConfig = new ClientConfig(new Region("ap-shanghai"));
38+
ClientConfig clientConfig = new ClientConfig(new Region(cosRegion));
3639
// 生成cos客户端
3740
return new COSClient(cred, clientConfig);
3841
}

src/main/java/com/qcloud/cos/demo/BucketRefererDemo.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,28 @@
88
import com.qcloud.cos.region.Region;
99

1010
public class BucketRefererDemo {
11+
private static String secretId = "AKIDXXXXXXXX";
12+
private static String secretKey = "1A2Z3YYYYYYYYYY";
13+
private static String cosRegion = "ap-guangzhou";
1114
private static COSClient cosClient = null;
1215
// bucket名需包含appid
1316
private static String bucketName = "examplebucket-12500000000";
1417

1518
public static void main(String[] args) {
1619
createCosClient();
17-
18-
setBucketReferer();
19-
getBucketReferer();
20-
21-
shutdown();
20+
try {
21+
setBucketReferer();
22+
getBucketReferer();
23+
} catch (Exception e) {
24+
shutdown();
25+
}
2226
}
2327

2428
private static void createCosClient() {
2529
// 1 初始化用户身份信息(secretId, secretKey)
26-
COSCredentials cred = new BasicCOSCredentials("AKID********************************", "********************************");
30+
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
2731
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
28-
ClientConfig clientConfig = new ClientConfig(new Region("ap-shanghai"));
32+
ClientConfig clientConfig = new ClientConfig(new Region(cosRegion));
2933
// 3 生成cos客户端
3034
cosClient = new COSClient(cred, clientConfig);
3135
}

src/main/java/com/qcloud/cos/demo/BucketReplicationDemo.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,40 @@
1111
import com.qcloud.cos.region.Region;
1212

1313
public class BucketReplicationDemo {
14+
private static String secretId = "AKIDXXXXXXXX";
15+
private static String secretKey = "1A2Z3YYYYYYYYYY";
16+
private static String cosRegion = "ap-guangzhou";
1417
private static COSClient cosClient = null;
1518
private static String bucketName = "examplebucket-12500000000";
1619

1720
public static void main(String[] argv) {
1821
createCOSClient();
19-
putBucketReplication();
20-
getBucketReplication();
21-
deleteBucketReplication();
22+
try {
23+
putBucketReplication();
24+
getBucketReplication();
25+
deleteBucketReplication();
26+
} catch (Exception e) {
27+
e.printStackTrace();
28+
} finally {
29+
shutdown();
30+
}
2231
}
2332

2433
private static void createCOSClient() {
25-
COSCredentials cred = new BasicCOSCredentials("AKID********************************", "********************************");
34+
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
2635
// 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
27-
ClientConfig clientConfig = new ClientConfig(new Region("ap-shanghai"));
36+
ClientConfig clientConfig = new ClientConfig(new Region(cosRegion));
2837
// 3 生成cos客户端
2938
cosClient = new COSClient(cred, clientConfig);
3039
}
3140

41+
private static void shutdown() {
42+
if (cosClient != null) {
43+
cosClient.shutdown();
44+
cosClient = null;
45+
}
46+
}
47+
3248
private static void putBucketReplication() {
3349
BucketReplicationConfiguration bucketReplicationConfiguration = new BucketReplicationConfiguration();
3450
bucketReplicationConfiguration.setRoleName("qcs::cam::uin/1000000001:uin/1000000001");

0 commit comments

Comments
 (0)