云存储服务broker系统(二)——华为云obs连接服务
桶是华为云对象存储的文件空间结构,在本项目中,不同的客户使用后台统一提供的华为云账户进行服务器连接,并用此账户管理个人的文件空间及使用对象存储服务,我们在后台对所有客户的桶进行管理和调度
在项目maven文件中添加以下依赖
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>esdk-obs-java</artifactId>
<version>3.20.6.2</version>
</dependency>
连接华为云的obs服务需要提供指定的access key以及sk
下面开始对客户端进行初始化:
/* 初始化OBS客户端所需的参数 */
private static final String endPoint = "https://obs.cn-north-1.myhuaweicloud.com";
private static final String ak = "XR4PD1I3LLF52K1KDRRG";
private static final String sk = "BD5DfWx2w3Od8XGCiuqsJPXfYJiKucNofuQUuZD4";
private static final String default_bucketLoc = "cn-north-1";
public static ObsClient obsClient = new ObsClient(ak,sk,endPoint);
通过客户端连接华为云obs服务后 可以实现创建桶的操作
/* 创建桶 */
public static int createBucket(String bucketName,int rwPolicy,int storageClass)
{
ObsBucket obsBucket = new ObsBucket();
//设置桶名字
obsBucket.setBucketName(bucketName);
// 设置桶访问权限为公共读,默认是私有读写
switch (rwPolicy) {
case 0:{
//私有读写
obsBucket.setAcl(AccessControlList.REST_CANNED_PRIVATE);
}
case 1:{
//公共读私有写
obsBucket.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ);
}
case 2:{
//桶公共读,桶内对象公共读
obsBucket.setAcl(AccessControlList. REST_CANNED_PUBLIC_READ_DELIVERED);
}
case 3:{
//公共读写
obsBucket.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ_WRITE);
}
case 4:{
//桶公共读写,桶内对象公共读写
obsBucket.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ_WRITE_DELIVERED);
}
}
// 设置桶的存储类型为归档存储
switch (storageClass) {
case 0:{
//标准
obsBucket.setBucketStorageClass(StorageClassEnum.STANDARD);
}
case 1:{
//低频访问
obsBucket.setBucketStorageClass(StorageClassEnum.WARM);
}
case 2:{
//归档
obsBucket.setBucketStorageClass(StorageClassEnum.COLD);
}
}
try {
// 设置桶区域位
obsBucket.setLocation(default_bucketLoc);
obsClient.createBucket(obsBucket);
System.out.println("create bucket:" + bucketName + " success!");
return 1;
}
catch (ObsException e){
return 0;
}
}
创建桶时所需要的参数有:桶的名称,读写访问策略、桶的存储类型、以及桶的地理位置区域
不同的访问策略提供不同的读写权限,本项目采用华为提供的五种预设置的访问权限:
0私有读写
1公共读,私有写
2桶公共读,桶内对象公共读
3公共读写
4桶公共读写,桶内对象公共读写
桶的存储类型有三种:标准、低频访问、归档
针对不同的客户需求,提供不同价位的存储服务,根据存储的频率、时效性、备份数量,客户可以自由的选择所需要服务