华为云OBS上传,包含临时鉴权、私有桶操作以及遇到的坑

简述

对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。

引用

下载
git@github.com:moses-keqi/spring-boot-start-obs.git
或
git@gitee.com:nuoee/spring-boot-start-obs.git
打包引用maven
<dependency>
    <groupId>com.moses.obs</groupId>
    <artifactId>spring-boot-start-obs</artifactId>
    <version>1.0.0</version>
</dependency>

配置

moses:
    obs:
      enabled: true #开启 obs
      end-point:  obs.cn-north-4.myhuaweicloud.com #终端节点 默认华北-北京四
      custom-url:  #自定义域名
      ak: #永久accessKey
      sk: #永久secretKey
      socket-timeout:  30000 #socket 超时 默认30s
      connection-timeout: 10000 #connection 超时 默认10s
      bucket-loc: cn-north-4 # 默认 华北-北京四
      expire-seconds: 86400 #私有情况下上传成功后URL有效期,1天,单位s秒
      #以下是使用iam账户操作
      iam-end-point: https://iam.cn-north-4.myhuaweicloud.com #临时AK、SK 生成 参数 华为iam   默认华北-北京四
      user-name: #iam用户名
      pass-word: #iam密码
      domain-name: #iam账户名字
      duration-seconds: 82800 #临时token失效时间

解决问题(具体参考demo)

1、解决私有桶访问问题 (官网签名有坑)
2、解决临时AK、SK、securityToken问题 (需要iam账号授权)
3、解决BrowserJS临时AK、SK、securityToken减低风险问题

话外(基于临时AK、SK, BrowserJS上传)

# 调用接口获取 AKSK、securityToken、官网没找到此代码,但临时授权确实可用
var  ObsClient obsClient = new ObsClient({
              security_token: securityToken,//临时securityToken
              access_key_id: ak, // ak
              secret_access_key: sk, // sk
              server: vm.uploadConfig.endPoint // 服务地址
            });
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Java华为云OBS是一种方便快捷的云存储服务,可以实现将本地文件或流直接上至华为云OBS中。使用Java SDK可快速构建OBS功能,使用流程如下: 1. 导入Java SDK依赖包,并初始化OBSClient对象; 2. 创建UploadObjectRequest对象,并设置上的bucket名称、object名称、输入流或文件路径等参数; 3. 调用OBSClient的uploadObject方法执行上操作; 4. 在上完成后,可以根据需要对上结果进行处理。 Java华为云OBS具有多种优点,例如自动断点续、多线程上、上进度监控等功能。同时,基于华为云高可靠性、高可用性、高安全性的云服务能力,保证数据的安全性和稳定性。因此,Java华为云OBS越来越受到开发者的青睐,成为了一种常用的云存储方案。 ### 回答2: Java华为云OBS是指通过Java语言调用华为云对象存储(OBS)API实现文件上OBS操作OBS是一种可扩展、安全、低成本的云存储服务,其提供了存储服务、数据备份、数据迁移等功能。Java华为云OBS是在Java代码中调用OBS API实现文件上,其主要实现步骤包括: 第一步:创建OBS客户端 在Java代码中,我们需要先创建一个OBS客户端,该客户端用于调用OBS API实现OBS操作。创建过程中需要设置OBS服务的Endpoint、Access key Id、Secret access key以及安全令牌等信息。OBS服务的Endpoint是存储桶所在的地方,Access key Id和Secret access key是华为云提供的身份验证信息,安全令牌为可选项,仅在使用华为云IAM服务时需要。 第二步:新建存储桶 在创建OBS客户端后,需要新建一个存储桶(Bucket),该存储桶用于存储上的文件。创建存储桶时需要指定存储桶名称、地域以及存储桶属性等信息。所选地域应与OBS客户端所在的地域一致,存储桶属性可以设置读取/写入限以及是否启用版本控制等。 第三步:上文件 创建存储桶后,即可进行文件上操作。文件上时需要指定Object(即文件)名称、上文件的路径、元数据等信息。其中,元数据包含了一些关于文件的描述信息,如Content-Type、Content-Length、Content-Encoding等,可以根据具体需求进行设置。 以上是Java华为云OBS的主要实现步骤,通过该过程可以将文件上OBS中。Java华为云OBS适用于需要将本地文件上到云端进行存储的场景,如备份、归档、数据迁移等。同时,该上方式还支持断点续、多线程上等特性,能够提高上效率,保障数据安全性。 ### 回答3: 随着云计算的普及和发展,越来越多的企业开始将数据存储到云上。华为云提供了一种便捷的文件存储服务——OBject Storage Service(简称OBS)。OBS是一种可扩展的、高可靠性的云存储服务,支持多种存储类型,如对象存储、归档存储、云硬盘等。Java是一种广泛使用的编程语言,在华为云OBS文件也是利用Java编写相关程序。 在Java中,要使用OBS文件,我们需要进行如下步骤: 1. 导入OBS SDK的依赖包。我们可以通过Maven或者Gradle管理工具来导入OBS SDK的依赖包。例如,使用Maven,可以在项目的pom.xml配置文件中添加如下依赖: ```xml <dependency> <groupId>com.obs</groupId> <artifactId>obs</artifactId> <version>3.21.3</version> </dependency> ``` 2. 创建一个ObsClient对象。ObsClient是OBS的Java SDK提供的一个客户端类,用于和OBS进行交互。创建ObsClient时,需要入认证参数、OBS服务地址等信息。 ```Java ObsClient obsClient = new ObsClient(access_key_id, secret_access_key, endpoint); ``` 其中,access_key_id和secret_access_key是OBS提供给开发者的访问密钥,endpoint是OBS服务的访问地址。 3. 上文件。上文件时,我们可以通过ObsClient提供的putObject方法实现,代码如下: ```Java PutObjectResult putObjectResult = obsClient.putObject(bucketName, objectKey, new File(filePath)); System.out.println("上成功!"); ``` 其中,bucketName是我们上文件的目标存储桶名称,objectKey是我们上的文件在存储桶中的唯一标识符,filePath是我们需要上的文件在本地磁盘上的路径。 这些步骤完成之后,我们就可以成功使用Java程序来上文件到华为云OBS了。需要注意的是,我们还需要对OBS服务的其他功能进行了解和使用,例如创建存储桶、获取目录列表等。在正式开发中,我们需要根据实际需求来选择使用OBS服务的哪些功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值