阿里云云存储如何使用(oss对象存储服务)

| CSDN:https://blog.csdn.net/qq_41153943(ID:江夏、)

| 掘金:https://juejin.cn/user/651387938290686(ID:jiangxia_1024)

| 知乎:https://www.zhihu.com/people/1024-paper-96(ID:江夏)

| GitHub:https://github.com/JiangXia-1024?tab=repositories

本文一共2339字,预计阅读10分钟前言

在公司的一些业务场景中,关于视频、图片等一些数据的存储并非是存在本地的文件服务器中,使用的是阿里云的对象存储OSS。今天就一起简单的学习阿里云的对象存储服务。

什么是阿里云对象存储服务

OSS全称是Object Storage Service,即对象存储服务。为了解决海量数据存储与弹性扩容,在很多的项目和业务场景中,很多公司都会采用云存储的解决方案。阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,能够提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。

阿里云云存储如何使用(oss对象存储服务)

如何开通OSS

开通阿里云的OSS需要以下步骤:

首先需要的肯定是要有阿里云的账号,如果没有得先申请一个并且完成实名认证,然后根据以下步骤开通“对象存储OSS”服务:

开通之后进入管理控制台界面:

注:这里建议先充值一块钱,用于一些微量扣费,如果只是作为学习使用,实际产生得费用很低,所以一块钱能够足够使用了。

创建Bucket

Bucket中文名即水桶、桶。这里可以看成windows的系统盘,我们创建一个bucket就类似于创建了一个c盘、d盘等等。创建Bucket的过程如下:

需要输入创建的bucket的名称,根据自己的实际需要填写,地域也根据自己的区域选择,其他的基本都可以使用默认选择,比如存储类型:标准存储/低频存储;同城冗余存储:进行备份,开通收费;版本控制:不开通;读写权限:公共读;实时日志查询:不开通。

获取AccessKey

如果需要在项目中使用OSS,那么还有需要使用的是AccessKey:

开发使用接下来就演示如何在项目中使用阿里云的OSS。具体可以参考阿里云oss的官方文档:https://help.aliyun.com/document_detail/32008.html?spm=5176.208357.1107607.21.62e1390fXAjrVM

首先需要在项目中导入阿里云oss的相关依赖:

接下来需要做的就是实现文件上传至阿里云OSS。

创建一个工具类,从配置文件读取oss配置常量。这里使用@Value读取配置文件中的内容。

用spring的 InitializingBean 的 afterPropertiesSet 来初始化配置信息,这个方法将在所有的属性被初始化后调用,具体代码如下:

import org.springframework.beans.factory.InitializingBean;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;//当项目已启动,spring接口,spring加载之后,执行接口一个方法implements InitializingBean@ComponentpublicclassConstantPropertiesUtil implementsInitializingBean{ //@Value读取配置文件内容,自动注入 @Value(“${aliyun.oss.file.endpoint}”)privateStringendpoint; @Value(“${aliyun.oss.file.keyid}”)privateStringkeyId; @Value(“${aliyun.oss.file.keysecret}”)privateStringkeySecret; @Value(“${aliyun.oss.file.bucketname}”)privateStringbucketName; //定义公开静态常量 public static String END_POIND; public static String ACCESS_KEY_ID; public static String ACCESS_KEY_SECRET;publicstaticStringBUCKET_NAME; @Override public void afterPropertiesSet() throws Exception { END_POIND = endpoint; ACCESS_KEY_ID = keyId; ACCESS_KEY_SECRET = keySecret; BUCKET_NAME = bucketName; }}

然后创建一个service接口用于文件上传:

publicinterfaceFileService{/***文件上传至阿里云*@paramfile*@return*/Stringupload(MultipartFilefile);}

创建一个该接口的实现类,实现具体的文件上传核心逻辑,具体可以参考sdk官方文档:

controller代码实现如下:

@Api(description=”阿里云OSS学习”)@RestController@RequestMapping(“/jiangxia/oss/file”)publicclassFileController{@AutowiredprivateFileServicefileService;@ApiOperation(value=”文件上传”)@PostMapping(“upload”)publicResultDataupload(@ApiParam(name=”file”,value=”文件”,required=true)@RequestParam(“file”)MultipartFilefile){StringuploadUrl=fileService.upload(file);//返回r对象returnResultData.ok().message(“文件上传成功”).data(“url”,uploadUrl);}}

启动项目,使用postman或者SwaggerUI进行接口文件上传测试,可以正常将自己的文件上传至阿里云oss中自己使用的Bucket列表中,并且根据实际进行分组:

总结

以上就是如何申请阿里云的oss服务以及如何在项目中具体使用,其核心就是bucket的创建。每次文件上传都是上传至具体的bucket中,并且可以根据自己代码得了逻辑进行分组和命名,代码的核心就是endpoint、bucketName、accessKeyId和accessKeySecret这四个参数的使用,具体的核心代码基本可以参考sdk的帮助文档进行核心参数的替换即可。

-END-

相关推荐:Spring注解(三):@scope设置组件作用域Spring常用注解大全,值得你的收藏!!!Spring注解(七):使用@Value对Bean进行属性赋值SpringBoot开发Restful风格的接口实现CRUD功能Spring注解(六):Bean的生命周期中自定义初始化和销毁方法的四种方式

发表评论

登录后才能评论