对象存储OSS入门
对象存储OSS基础概念与常用功能
小浩登陆阿里云对象存储OSS控制台后,面对众多配置选项,小浩想要了解对象存储的基本概念,才能进行合理的资源配置。
基础概念
1. 存储空间(Bucket):用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间,提供了标准存储、低频访问存储、归档存储、冷归档存储等存储类型。个人网盘频繁的进行文件上传、下载、分享等操作;个人网盘需要频繁的进行文件上传、下载、分享等操作,小浩对比后,选择使用“标准存储”。
存储类型 |
使用场景 |
标准存储 |
提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问。适用于各种社交、分享类的图片、音视频应用、大型网站、大数据分析等业务场景。 |
低频访问 |
提供高持久性、较低存储成本的对象存储服务。有最小计量单位(64 KB)和最低存储时间(30天)的要求。支持数据实时访问,访问数据时会产生数据取回费用,适用于较低访问频率(平均每月访问频率1到2次)的业务场景。 |
归档存储 |
提供高持久性、极低存储成本的对象存储服务。有最小计量单位(64 KB)和最低存储时间(60天)要求。数据需解冻(约1分钟)后访问,解冻会产生数据取回费用。适用于数据长期保存的业务场景,例如档案数据、医疗影像、科学资料、影视素材等。 |
冷归档存储 |
提供高持久性、比归档存储的存储成本更低的对象存储服务。有最小计量单位(64 KB)和最低存储时间(180天)的要求。数据需解冻后访问,解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用以及取回请求费用。适用于需要超长时间存放的冷数据,例如因合规要求需要长期留存的数据、大数据及人工智能领域长期积累的原始数据、影视行业长期留存的媒体资源、在线教育行业的归档视频等业务场景。 |
2. 地域(Region):OSS的数据中心所在物理位置。阿里云地域选择可以遵循就近原则,优先选择更靠近用户群的地域节点。个人网盘使用者小浩居住在杭州,地域优先选择“华东1(杭州)” 。
3. 对象(Object):对象是OSS存储数据的基本单元,也被称为OSS的文件。在个人网盘场景中,Object为存放在对象存储OSS Bucket中的照片文件、文本文件、视频文件等。
4. 读写权限:通过Bucket ACL权限列表与权限描述,小浩设置Bucket ACL权限为私有,Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。
权限值 |
权限描述 |
公共读写 |
公共读写:任何人(包括匿名访问者)都可以对该Bucket内文件进行读写操作。 警告 互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。 |
公共读 |
公共读:只有该Bucket的拥有者可以对该Bucket内的文件进行写操作,任何人(包括匿名访问者)都可以对该Bucket中的文件进行读操作。 警告 互联网上任何用户都可以对该Bucket内文件进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。 |
私有 |
私有:只有Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。 |
5. 访问域名(Endpoint):OSS对外服务的访问域名,Endpoint格式为:外网Endpoint是oss-{Region}.aliyuncs.com,内网Endpoint是oss-{Region}-internal.aliyuncs.com。通过OSS内网地址访问OSS资源时,不收取流量费用。个人网盘场景中ECS实例部署的网盘软件可以调用OSS内网Endpoint。
6. 访问密钥(Accesskey):简称AK,指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。OSS通过使用AccessKeyId和AccessKeySecret对称加密的方法来验证某个请求的发送者身份,可通过控制台创建AccessKey,AccessKey的来源有:
- Bucket的拥有者申请的AccessKey。
- 被Bucket的拥有者通过RAM授权给第三方请求者的AccessKey。
- 被Bucket的拥有者通过STS授权给第三方请求者的AccessKey。
了解Endpoint和Accesskey的概念后,在使用SDK或工具时,需要配置访问域名(Endpoint)和访问密钥(Accesskey)。
小浩掌握上述基础概念之后,对使用OSS的流程进行了总结:
创建Bucket时,登陆OSS控制台,根据实际业务需求选择离请求源最近的地域(可参见oss开服地域)。用户在通过SDK/工具操作访问oss资源时,需配置访问域名Endpoint和用来验证请求是否合法的AccessKey进行访问,如果验证成功,才能成功操作oss资源(可参考鉴权流程)。
对象存储OSS常用功能总结
小浩已经熟悉对象存储的基本概念,通过对象存储OSS控制台完成了Bucket的创建。接下来小浩想要探索一下对象存储OSS的常用功能,他梳理了使用OSS的常见场景。
- 创建存储空间:根据实际需求,创建不同类型的存储空间来存储不同的数据;
- 上传文件:上传文件到OSS前,必须先在阿里云的任意一个地域创建一个存储空间。创建存储空间后,您可以上传任意文件到该存储空间。有简单上传、分片上传、追加上传等方式;
- 列举文件:Object上传成功后,默认按照字母序排列。可以列举出当前Bucket的所有Object、指定前缀的Object、指定个数的Object等;
- 搜索文件:Object上传成功之后,可以通过搜索文件或者文件夹的方式进行搜索,快速查找目标文件;
- 分享文件:文件上传至存储空间后,您可以将文件URL分享给第三方,供其下载或预览;
- 下载文件:当文件(Object)上传至存储空间(Bucket)后,您可以将文件下载至浏览器默认路径或本地指定路径;
- 删除文件:可以一次删除单个或者多个文件、碎片等。您可以定期删除过期文件,节省您的存储空间。
对象存储OSS资源访问方式及流程
小浩思考,如果还有其他同事想要一起参与文件上传和管理的工作,除了控制台之外,是否还有其他访问方式呢?
阿里云对象存储OSS提供了多种访问及操作OSS资源的方式:阿里云控制台、OSS提供的工具、OSS提供的SDK。如下所示:
控制台
控制台是什么
控制台什么时候用
更多详情信息可参考通过控制台访问OSS |
工具
阿里云对象存储提供了多种数据管理工具,如ossutil、ossbrowser、ossfs、ossimport等。
更多详情信息可参考常用工具 |
SDK
阿里云对象存储提供了多种语言的SDK如Java、PHP、Python、Go等可以帮助您基于SDK快速业务的二次开发。 更多SDK信息请参考SDK |
练习实验:使用OSS快速搭建个人网盘
https://developer.aliyun.com/adc/scenario/exp/10b18abcd21b4252bac99a42a1af2290