阿里云OSS对象存储的核心概念与购买应用

文章目录

    • 1.OSS对象存储基本介绍
      • 1.1.OSS对象存储概念
      • 1.2.NAS与OSS存储的不同
      • 1.3.OSS的应用场景
      • 1.4.OSS术语对应表
    • 2.购买OSS存储资源包
    • 3.KodCloud云盘接入OSS对象存储
      • 3.1.创建Bucket存储空间
      • 3.2.创建子用户用于管理Bucket
      • 3.3.获取用户的AccessKey
      • 3.3.为用户设置权限
      • 3.4.将Bucket授权给创建的用户管理
      • 3.5.配置KodCloud云盘的后台管理接入OSS
      • 3.6.在KodCloud中上传文件到OSS中
      • 3.7.查看OSS中是否有文件产生
      • 3.8.查看OSS中文件的URL地址
    • 4.忘记子用户的Key怎么办?

1.OSS对象存储基本介绍

OSS对象存储官方文档:https://help.aliyun.com/product/31815.html

1.1.OSS对象存储概念

OSS对象存储服务全称为(Object Storage Service,OSS),是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。

容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

OSS对象存储提供RESETful API接口,所有的上传和下载文件都是通过API接口完成,只要有网络就可以在任意时间、地点去访问OSS存储中的文件。

OSS对象存储在上传一个大文件时,会对文件进行分片,等所有分片上传到OSS后,再将所有的分片汇聚成一个文件。

1)OSS组件概念

  • 存储类型(Storage Class)
    • OSS提供四种类型的数据存储,分布式标准、低频访问、归档以及冷归档。
    • 标准存储类型提供高持久、高可用、高性能的对象存储服务,可以支撑数据的频繁访问,一般都会选择标准存储。
    • 低频访问存储类型适合长期保存不经常访问的数据,价格较低。
    • 归档存储类型适合需要长期保存的数据。
    • 冷归档存储类型适合需要超长时间存放的数据。
    • 在我们购买OSS资源包时会选择使用哪种类型的存储
  • 存储空间(Bucket)
    • 存储空间相当于资源隔离,用于将不同的应用程序数据存放在不同的存储空间中,一个应用程序一个bucket。
    • 存储空间是用于存储对象的容器,每个对象都必须隶属于某个存储空间,存储空间具备各种配置属性,包括地域、访问权限、存储类型等等,可以根据我们的需求为不同的应用程序创建不同的存储空间。
  • 对象(Object)
    • 对象是OSS存储数据的基本单元,可以理解为存在OSS中的一个文件就是对象。
    • 对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。
    • 对象由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,例如最后修改时间、大小等信息。
  • ObjectKey
  • 地域(Region)
    • 地域表示OSS所在的物理位置,我们可以将OSS运行在距离用户最近的区域
  • 访问域名(Endpoint)
    • OSS有外网地址和内网地址,当我们在其他地域的ECS想要读取OSS中的数据时,就需要通过OSS的外网地址进行连接,外网地址是一个域名,每个地域的OSS都有单独的访问域名。
    • 通过内网和外网访问同一个地域所需要的域名也是不同的
  • 访问密钥(AccessKey)
    • AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。
    • AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。
    • OSS通过使用Key+Secret的对称加密方式来验证请求者的身份,验证成功后才可以访问OSS中的资源。
    • AccessKey ID用于标识用户;AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。

2)OSS重要特性

  • 版本控制
    • 针对存储空间级别的数据保护功能。
    • 开启版本控制后,针对数据的覆盖以及删除都会以版本的形式记录下来,当我们误删除文件后,可以在bucket将存储的object恢复任意时刻的版本。
  • Bucket Policy
    • 主要用于为存储空间授权不同用户的访问权限。
    • 例如要对某个账号授权整个存储空间的只读、读写、完全控制等权限。
  • 跨区域复制
    • 可以跨不同地域的OSS数据中心,将对象资源的创建、更新、删除等操作从源存储空间复制到不同区域的目标存储空间,可以作为数据容灾的方案。
  • 数据加密
    • 上传文件时,OSS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,OSS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。

1.2.NAS与OSS存储的不同

NAS是文件存储系统,是面向ECS实例的存储服务,类似于传统的NFS服务,需要将NAS挂载到ECS服务器中才可以进行文件的存储,NAS必须要和ECS在同一个地域,否则ECS是无法连接到NAS的,也就是说如果我们要将ECS迁移到其他的地区,NAS也必须要进行迁移,否则将无法使用。

OSS是对象存储,提供RESETful API接口,在OSS中存储的每一个文件都有单独的访问地址,我们只需要在程序中配置OSS的地址以及所使用的Bucket,就可以连接到OSS中,即使将来需要迁移ECS到其他地域,OSS也不需要做任何的操作,只要有网络环境就可以从OSS中获取数据。

另外如果我们的网站有CDN加速器,我们再OSS中缓存的程序图片,也可以直接由CDN请求OSS,不需要经过ECS实例。

NAS主要应用于服务器文件存储、容器存储,用户请求到达WEB程序后,程序会在服务器中挂载的某个路径找到NAS中的数据。

OSS主要应用云端数据处理、图片音视频文件存储、WEB程序动静分离静态资源文件存储,OSS就相当一个云存储,只需要请求OSS的域名就可以获取到想要的文件。

1.3.OSS的应用场景

1)图片和音视频等应用的海量存储

WEB应用程序产生大量的文件(图片、文件、音视频)都可以存储在OSS中,OSS提供的存储是海量的,OSS支持流式写入和文件写入两种方式。

如下图所示:网络摄像机是ECS服务器中运行的程序,用户通过网络摄像机录制的视频通过程序直接存储到OSS对象存储中,再通过OSS自带的媒体程序完成视频的转码,当用户需要播放上传的视频时,如果网站有CDN加速器,请求首先会到达CDN加速器,如果CDN中缓存,那么直接将视频文件返回给用户,如果CDN中没有缓存,那么就由CDN直接从OSS中读取视频文件,然后进行播放,无需再经过ECS服务器。

CDN读取OSS中的文件连接的OSS的外网地址,OSS所在的地域不同外网地址也会有所不同。

OSS支持用户端直接写入和读取。

场景1

2)网页或者移动应用的静态和动态资源分离

大多数的WEB应用程序或者移动APP都会进行动静分离,有的公司是将静态资源直接部署在一台服务器中,提供特定的域名进行访问。

我们也可以直接将静态资源存放在OSS中,当请求时动态数据时经过SLB—>ECS,然后将数据回传给用户,当请求的是静态数据时,请求首先达到CDN加速器,如果CDN加速器中有静态资源的缓存,那么直接回传给用户,如果CDN中不存在静态资源的缓存,CND会直接从OSS中读取静态资源,然后回传给用户,无需再SLB以及ECS中读取静态资源,从某种程度上减少了ECS的流量。

场景2

3)云端数据处理

当数据文件存储在OSS对象存储中后,比如图片以及音视频,可以直接通过其他程序对数据进行二次处理,比如将图片清晰度进行调整、将音视频文件进行转码、压缩等等操作。

OSS就相当于一个云端,其他程序都从这个云端获取数据。

场景3

1.4.OSS术语对应表

英文中文
Bucket存储空间
Object对象或者文件
EndpointOSS 访问域名
Region地域或者数据中心
AccessKeyAccessKeyId和AccessKeySecret的统称,访问密钥
Put Object简单上传
Post Object表单上传
Multipart Upload分片上传
Append Object追加上传
Get Object简单下载
Callback回调
Object Meta文件元信息。用来描述文件信息,例如长度,类型等
Data文件数据
Key文件名
ACL (Access Control List)存储空间或者文件的权限

2.购买OSS存储资源包

在使用OSS之前首先需要购买一个存储资源包,提供存储空间,如果不购买存储资源包直接创建Bucket,存储空间中的数据量就是按量计费,购买了存储包之后,数据空间的大小就是按照资源包进行付费。

OSS存储资源包的空间可以按需再后期镜像扩容。

在控制台中搜索OSS,进入OSS的控制台。

1643000944724

1)在资源包管理中,点击购买资源包。

1643004617313

2)资源包类型选择标准LRS存储包,地域选择中国大陆通用,存储包规格选择40GB,套餐为标准存储包(中国大陆),购买时长选择半年。

1643004781755

3)确认订单信息然后点击去支付。

1643004992674

4)资源包购买完成

1643005044603

3.KodCloud云盘接入OSS对象存储

OSS对接应用系统的大致实现步骤:

  • 1.创建Bucket存储空间
  • 2.创建子用户并授予OSS的管理权限,获取子用户的AccessKey以及AccessSecret
  • 3.将Bucket存储空间授权给子用户进行管理
  • 4.配置应用系统接入OSS

KodCloud在接入OSS时需要填写如下信息,我们需要带着这些信息去创建OSS存储。

1643007494611

3.1.创建Bucket存储空间

1)创建Bucket

点击Bucket列表—>创建Bucket。

1643007755266

2)配置Bucket

Bucket名称为kodcloud-storage—>地域为华北2—>存储类型为标准存储—>关闭同城冗余存储—>不开通版本控制。

读写权限为私有—>数据加密选择无—>不开通实时目录查询—>不开启定时备份—>最后点击确定完成bucket的创建。

其中最为重要的就是读写权限,一定要选择私有,否则对于数据是不安全的,权限为私有会在文件url中带入验证身份的key,公共读为所有人都可以读取bucket中的文件,公共读写最不安全,所有人都可以向bucket中写入数据。

1643008139406

3)查看创建的Bucket

Bucket创建后会自动跳转到当前Bucket的管理页面,在概览中我们可以获取到访问OSS的域名,其中有内网域名和外网域名,并且不同的bucket也有单独的访问域名。

1643008729409

3.2.创建子用户用于管理Bucket

Bucket存储空间已经创建完成,我们不能通过阿里云的管理员账号让程序去连接,因此还需要创建一个子用户,由这个子用户去管理Bucket,为用户分配一些权限,然后将Bucket授权给这个用户,我们就可以通过这个用户的Key和Secret访问Bucket,在Bucket中读取或者写入数据。

1)前往RAM控制台

点击权限管理—>访问控制RAM—>前往控制台。

1643010098764

2)创建用户

点击身份管理中的用户—>创建用户。

1643010293928

填写用户名称—>勾选启用 AccessKey ID 和 AccessKey Secret—>点击确定完成用户创建。

1643010616882

3.3.获取用户的AccessKey

创建完用户后会获取到用户AccessKey,一定要将AccessKey复制保存,否则刷新页面后,无法再次获取Key的信息。

用户登录名称 kodcloud-oss@1069086789271022.onaliyun.com
AccessKey ID:LTAI5tRMCtvCFthMNXKsKLqE
AccessKey Secret:wWrCbFTCuxxxx6RooH8RbXkbfpni

1643010733281

3.3.为用户设置权限

1)再次点击用户列表,找到我们创建的kodcloud-oss用户,点击添加权限。

1643010892122

2)为用户添加一个AliyunOSSFullAccess的权限,这个权限表示对OSS有管理员级别的权限,然后点击确定。

1643011005978

3)在用户详情页面就可以看到我们添加的权限。

1643011237566

3.4.将Bucket授权给创建的用户管理

1)点击权限管理—>Bucket授权策略—>设置。

1643011293821

2)点击新增授权—>授权资源选择整个Bucket—>授权用户选择刚刚创建的子账号—>授权操作为简单设置勾选完全控制—>点击确定完成授权。

1643011478539

3)授权成功。

1643011857075

3.5.配置KodCloud云盘的后台管理接入OSS

进入到Kodclou云盘的后台管理—>找到存储管理—>点击新增—>存储类型为阿里云OSS—>名称填写为阿里云OSS存储—>空间大小为40GB—>Access Key ID填写子用户的Key ID—>Access Key Secret填写子用户的Key Secret—>Bucket填写kodcloud-storage存储空间—>地域节点填写OSS的内网访问域名—>存储目录为/kodbox—>点击保存。

1643012144334

存储添加完成。

1643012521356

3.6.在KodCloud中上传文件到OSS中

进入Kodclou云盘系统—>找到阿里云OSS存储—>点击上传文件。

1643012794244

3.7.查看OSS中是否有文件产生

点击Bucket中的文件管理,可以看到已经创建了一个kodbox的目录。

1643012942953

进入目录后就可以看到用户上传的文件。

1643012997014

3.8.查看OSS中文件的URL地址

在OSS中的每个文件都有独立的访问地址,我们的Bucket权限为私有,在URL中会有Key认证信息,必须通过程序的认证才可以访问到文件中的内容。

点击任意文件即可查看该文件的URL地址。

1643013155808

4.忘记子用户的Key怎么办?

子用户创建完成后Accesskey刷新后会消失,如果后期忘记了怎么办呢?也是有解决方法的。

点击子用户—>在下面有一个创建AccessKey—>会弹出新的AccessKey。

之后可以将忘记的Key删除即可。

image-20220202101415483

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/39327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL和Redis如何保证数据一致性

MySQL与Redis都是常用的数据存储和缓存系统。为了提高应用程序的性能和可伸缩性,很多应用程序将MySQL和Redis一起使用,其中MySQL作为主要的持久存储,而Redis作为主要的缓存。在这种情况下,应用程序需要确保MySQL和Redis中的数据是…

软件测试常用工具总结(测试管理、单元测试、接口测试、自动化测试、性能测试、负载测试等)

前言 在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对测试起到一个很好的作用,同时,有些公司,也会要求掌握一…

__ob__: Observer 后缀的数组的取值方式

开发中,经常从接口、父组件中,拿到数组然后给新的数组使用, 但是,有时候会发现带有 __ob__: Observer 后缀的数组,对这种数组来说,你是无法取到这个数组的值的, 而且,离谱的是consol…

【深度学习--RNN 循环神经网络--附LSTM情感文本分类】

deep learning 系列 --RNN 循环神经网络 什么是序列模型 包括了RNN LSTM GRU等网络模型,主要用途是自然语言处理、语音识别等方面,比如生成乐曲,音频转换为文字,文本情感分类,机器翻译等等 标准模型的缺陷 以往的标…

flutter 常见的状态管理器

flutter 常见的状态管理器 前言一、Provider二、Bloc三、Redux四、GetX总结 前言 当我们构建复杂的移动应用时,有效的状态管理是至关重要的,因为应用的不同部分可能需要共享数据、相应用户交互并保持一致的状态。Flutter 中有多种状态管理解决方案&#…

0143 串

目录 4.串 4.1串的定义和实现 4.2串的模式匹配 部分习题 4.串 4.1串的定义和实现 4.2串的模式匹配 部分习题 1.设有两个串S1和S2,求S2在S1中首次出现的位置的运算称为() A.求字串 B.判断是否相等 C.模式匹配 D.连…

Vue2(组件开发)

目录 前言一,组件的使用二,插槽slot三,refs和parent四,父子组件间的通信4.1,父传子 :父传子的时候,通过属性传递4.2,父组件监听自定义事件 五,非父子组件的通信六&#x…

麦肯锡发布《2023年度科技报告》!

在经历了 2022 年技术投资和人才的动荡之后,2023 年上半年,人们对技术促进商业和社会进步的潜力重新燃起了热情。生成式人工智能(Generative AI)在这一复兴过程中功不可没,但它只是众多进步中的一个,可以推…

总说绿幕直播抠像抠不干净?很有可能是你不知道这个神器!

在绿幕直播的时候,你是不是座位、绿幕、灯光都摆对了,但主播轮廓仍然有绿边和虚化的情况发生?这种很大可能就是你使用的直播抠像软件有问题。今天小编把市面上的常见直播软件来和vLive虚拟直播的抠像做一个对比,让你直观感受下他们…

机器学习笔记 - 基于PyTorch + 类似ResNet的单目标检测

一、获取并了解数据 我们将处理年龄相关性黄斑变性 (AMD) 患者的眼部图像。 数据集下载地址,从下面的地址中,找到iChallenge-AMD,然后下载。 Baidu Research Open-Access Dataset - DownloadDownload Baidu Research Open-Access Datasethttps://ai.baidu.com/bro…

基于ACF,AMDF算法的语音编码matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .......................................................................... plotFlag …

函数递归专题(案例超详解一篇讲通透)

函数递归 前言1.递归案例:案例一:取球问题案例二:求斐波那契额数列案例三:函数实现n的k次方案例四:输入一个非负整数,返回组成它的数字之和案例五:元素逆置案例六:实现strlen案例七:…

服务器遭受攻击之后的常见思路

哈喽大家好,我是咸鱼 不知道大家有没有看过这么一部电影: 这部电影讲述了男主是一个电脑极客,在计算机方面有着不可思议的天赋,男主所在的黑客组织凭借着超高的黑客技术去入侵各种国家机构的系统,并引起了德国秘密警察…

Mac如何打开隐藏文件中Redis的配置文件redis.conf

Redis下载(通过⬇️博客下载的Redis默认路径为:/usr/local/etc) Redis下载 1.打开终端进入/usr文件夹 cd /usr 2.打开/local/文件夹 open local 3.找到redis.conf并打开,即可修改配置信息

讯飞星火认知大模型全新升级,全新版本、多模交互—测评结果超预期

写在前面 版本新功能 1 体验介绍 登录注册 申请体验 2 具体使用 2.1 多模态能力 2.1.1 多模理解 2.1.2 视觉问答 2.1.3 多模生成 2.2 代码能力 2.2.1 代码生成 2.2.2 代码解释 2.2.3 代码纠错 2.2.4 单元测试 2.3 插件功能 2.3.1 PPT生成 2.3.2 简历生成 2.3.4 文档问答 3 其他…

Android学习之路(3) 布局

线性布局LinearLayout 前几个小节的例程中,XML文件用到了LinearLayout布局,它的学名为线性布局。顾名思义,线性布局 像是用一根线把它的内部视图串起来,故而内部视图之间的排列顺序是固定的,要么从左到右排列&#xf…

Android之版本号、版本别名、API等级对应关系(全)(一百六十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

HTML详解连载(4)

HTML详解连载(4) 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽CSS定义书写位置示例注意 CSS引入方式内部样式表:学习使用 外部演示表:开发使用代码示例行内样式代码示例 选择器作用基础选择器标签选择器举例特…

RISC-V公测平台发布 · 7-zip 测试

简介 7-Zip 是一个开源的压缩和解压缩工具,具有高压缩比和快速解压缩的特点。除了普通的文件压缩和解压缩功能之外,7-Zip 还提供了基准测试功能,通过压缩和解压缩大型文件来评估系统的处理能力和性能。 7-Zip 提供了一种在不同压缩级别和多…

BUUCTF [MRCTF2020]Ezpop解题思路

题目代码 Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95 //And Crack It! class Modifier {protected $var;publi…