• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

微服务项目尚融宝20后端搭建OSS文件上传整合

武飞扬头像
一个风轻云淡
帮助1

认清现实,放弃幻想,准备斗争 

阿里云存储OSS

一、开通“对象存储OSS”服务

为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案- 阿里云OSS。 

1、开通“对象存储OSS”服务

学新通

学新通

2、进入管理控制台 

学新通

二、控制台使用

1、创建Bucket

命名:srb-file

读写权限:公共读

2、上传默认头像

创建文件夹avatar,上传默认的用户头像

学新通

 

三、使用RAM子用户

1、进入子用户管理页面

学新通

学新通

2、添加用户 

学新通

3、获取子用户key

AccessKeyId, AccessKeySecret

4、设置用户权限

AliyunOSSFullAccess

学新通

一、使用SDK

在OSS的概览页右下角找到“Bucket管理”,点击“OSS学习路径”

学新通

点击“Java SDK”进入SDK开发文档 

学新通

二、创建测试项目

1、创建Maven项目

com.atguigu

aliyun-oss

2、配置pom

学新通

  1.  
    <dependencies>
  2.  
    <!--aliyunOSS-->
  3.  
    <dependency>
  4.  
    <groupId>com.aliyun.oss</groupId>
  5.  
    <artifactId>aliyun-sdk-oss</artifactId>
  6.  
    <version>3.10.2</version>
  7.  
    </dependency>
  8.  
     
  9.  
    <dependency>
  10.  
    <groupId>junit</groupId>
  11.  
    <artifactId>junit</artifactId>
  12.  
    <version>4.12</version>
  13.  
    </dependency>
  14.  
    </dependencies>

三、测试用例

1、创建Bucket

学新通

  1.  
    public class OSSTest {
  2.  
     
  3.  
    // Endpoint以杭州为例,其它Region请按实际情况填写。
  4.  
    String endpoint = "your endpoint";
  5.  
    // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  6.  
    String accessKeyId = "your accessKeyId";
  7.  
    String accessKeySecret = "your accessKeySecret";
  8.  
    String bucketName = "srb-file";
  9.  
     
  10.  
    @Test
  11.  
    public void testCreateBucket() {
  12.  
     
  13.  
    // 创建OSSClient实例。
  14.  
    OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
  15.  
     
  16.  
    // 创建存储空间。
  17.  
    ossClient.createBucket(bucketName);
  18.  
     
  19.  
    // 关闭OSSClient。
  20.  
    ossClient.shutdown();
  21.  
    }
  22.  
    }

 2、判断bucket是否存在

  1.  
    @Test
  2.  
    public void testExist() {
  3.  
     
  4.  
    // 创建OSSClient实例。
  5.  
    OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
  6.  
     
  7.  
    boolean exists = ossClient.doesBucketExist(bucketName);
  8.  
    System.out.println(exists);
  9.  
     
  10.  
    // 关闭OSSClient。
  11.  
    ossClient.shutdown();
  12.  
    }

 3、设置bucket访问权限

  1.  
    @Test
  2.  
    public void testAccessControl() {
  3.  
     
  4.  
    // 创建OSSClient实例。
  5.  
    OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
  6.  
     
  7.  
    // 设置存储空间的访问权限为:公共读。
  8.  
    ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
  9.  
     
  10.  
    // 关闭OSSClient。
  11.  
    ossClient.shutdown();
  12.  
    }

什么是对象存储OSS
OSS的全称是:Object Storage Service;即对象存储服务。

在数据存储领域,存储数据的主要方法有三种: 文件、块和对象。

简单来说,对象的功能是模块化的单元,每个对象都充当自包含的存储库,其中包含描述权限、隐私、证券、意外事件和其他信息等详细信息的元数据。例如,它类似于一张照片,其中可能包含描述用于拍摄照片的相机设置以及拍摄时间和地点的元数据。

将OSS与传统的存储方式进行对比
传统上,Web 应用程序使用文件系统和数据库在后端存储用户数据。很简单,结构化数据进入数据库,其他任何东西进入文件系统。这很容易管理,因为很少有应用程序生成非结构化数据——大多数应用程序在表单中接受用户输入并将数据保存到数据库中。

然而,时代在变,随着社交媒体、云存储、数据分析平台和其他计算范式的出现,越来越多的非结构化数据被推送到互联网上。

DC 在 2014 年进行的一项研究预测,到 2020 年,全球创建和复制的非结构化数据将达到 44 泽字节,即每年 44 万亿千兆字节。2015 年非结构化数据已经占所有数字数据的 90%

所以,与其他计算范式一样,存储系统需要不断发展才能满足这一新的非结构化数据浪潮席卷互联网。

自现代计算开始以来人们一直在使用的存储机制,即文件系统,扩展比较困难;不仅需要管理文件系统强加的不必要的元数据和层次结构,还需要处理其他事情,例如备份管理。

而且,仅仅收集非结构化数据是不够的。我们还需要应用某种级别的组织来理解数据。文本分析、自动分类、自动标记等技术对于从我们收集的所有非结构化数据中获得商业意义至关重要。具有固定布局的文件系统使其难以实现。

我们最初接触到的文件系统不是为 HTTP(S) 设计的,而是为人类设计的。在文件系统中共享和管理文件很难以编程方式处理。处理文件流和可能的边界情况很容易出错,需要花费大量的时间和精力。

为了绕过这一切,需要一些新的东西。从头开始设想,始终关注新的需求。这导致了对象存储。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbcgbf
系列文章
更多 icon
同类精品
更多 icon
继续加载