云存储服务broker系统(二)——华为云obs连接服务

云存储服务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桶公共读写,桶内对象公共读写
桶的存储类型有三种:标准、低频访问、归档
针对不同的客户需求,提供不同价位的存储服务,根据存储的频率、时效性、备份数量,客户可以自由的选择所需要服务

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值