一、什么是对象存储OSS
阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。您可以通过本文档提供的简单的 REST 接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据。基于 OSS,您可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规模数据的服务。更多请参考:阿里云官网-OSS简介
基于阿里云提供的的文件传输服务,可以对文件实施:
- 上传(基础上传,表单上传,追加上传,分片上传,断点上传,上传进度,上传回调)
- 下载(下载到本地,流式下载,范围下载,断点续传下载,限定条件下载)
OSS 有一些注意事项:
二、OSS的基本概念
下面是从阿里云官网-OSS基本概念摘抄的几个重要的基本概念。
对象(Object)
对象是 OSS 存储数据的基本单元,也被称为 OSS 的文件。和传统的文件系统不同,对象没有文件目录层级结构的关系。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成,并且由存储空间内部唯一的 Key 来标识。对象元信息是一组键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时用户也可以在元信息中存储一些自定义的信息。
对象的生命周期是从上传成功到被删除为止。在整个生命周期内,除通过追加方式上传的 Object 可以通过继续追加上传写入数据外,其他方式上传的 Object 内容无法编辑,您可以通过重复上传同名的对象来覆盖之前的对象。
ObjectKey
在各语言 SDK 中,ObjectKey、Key 以及 ObjectName 是同一概念,均表示对 Object 执行相关操作时需要填写的 Object 名称。例如向某一存储空间上传 Object 时,ObjectKey 表示上传的 Object 所在存储空间的完整名称,即包含文件后缀在内的完整路径,如填写为 abc/efg/123.jpg。
Region(地域)
Region 表示 OSS 的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建 Bucket。一般来说,距离用户更近的 Region 访问速度更快。详情请参见OSS已经开通的Region。
Region 是在创建 Bucket 的时候指定的,一旦指定之后就不允许更改。该 Bucket 下所有的 Object 都存储在对应的数据中心,目前不支持 Object 级别的 Region 设置。
Endpoint(访问域名)
Endpoint 表示 OSS 对外服务的访问域名。OSS 以 HTTP RESTful API 的形式对外提供服务,当访问不同的 Region 的时候,需要不同的域名。通过内网和外网访问同一个 Region 所需要的 Endpoint 也是不同的。例如杭州 Region 的外网 Endpoint 是 oss-cn-hangzhou.aliyuncs.com,内网 Endpoint 是 oss-cn-hangzhou-internal.aliyuncs.com。具体的内容请参见各个Region对应的Endpoint。
三、开始使用OSS
1. 注册登录阿里云
如果以前没注册过阿里云,可以使用支付宝等第三方注册绑定后登录。
2. 开通OSS服务
在 OSS 产品详情页,单击立即开通。开通服务后,在 OSS 产品详情页单击管理控制台直接进入 OSS 管理控制台界面。
注:如果后面需要经常使用 OSS 服务来访问、上传和下载,可以考虑购买 OSS 资源包,具体可参考:对象存储OSS资源包(包月)
3. 通过OSS控制台创建存储空间(Bucket)
存储空间(Bucket)是用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
- 同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。
- 每个用户可以拥有多个存储空间。
- 存储空间的名称在 OSS 范围内必须是全局唯一的,一旦创建之后无法修改名称。
- 存储空间内部的对象数目没有限制。
具体创建步骤请参考:创建存储空间
4. 创建属于个人的AccessKey
AccessKey 简称 AK,指的是访问身份验证中用到的 AccessKeyId 和 AccessKeySecret。OSS 通过使用 AccessKeyId 和 AccessKeySecret 对称加密的方法来验证某个请求的发送者身份。
- AccessKeyId 用于标识用户;
- AccessKeySecret 是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。
对于 OSS 来说,AccessKey 的来源有:
- Bucket 的拥有者申请的 AccessKey。
- 被 Bucket 的拥有者通过 RAM 授权给第三方请求者的 AccessKey。
- 被 Bucket 的拥有者通过 STS 授权给第三方请求者的 AccessKey。
具体创建步骤请参考:创建AccessKey
5. 通过控制台实现上传、下载等功能
到这里,就可以在控制台在创建的 Bucket 中实现上传、下载等功能了,具体可以参考:控制台快速入门
四、OSS工具
4.1 命令行工具ossutil
命令行工具 ossutil 支持在 Windows、Linux、macOS 等系统上运行,您可以根据自己的环境下载和安装合适版本。官方提供的下载链接如下:
下载解压后只有两个文件 ossutil.bat 和 ossutil64.exe。
config
命令行工具ossutil下载和安装说明了各种系统的配置方法,这里只重点讲下 Windows 下是如何配置的。config 命令用于创建配置文件来存储 OSS 访问信息。有两种配置方法:
1.交互式配置
cmd 执行以下命令生成配置文件,会提示你输入 endpoint 等信息,如下图所示:
ossutil64.exe config
生成的配置文件路径若未指定,默认为C:\Users\feng\.ossutilconfig
,配置文件则为.ossutilconfig
,其内容如下:
[Credentials]
language=CH
endpoint=oss.aliyuncs.com
accessKeyID=your_key_id
accessKeySecret=your_key_secret
- endpoint:填写 Bucket 所在地域的 Endpoint。各地域 Endpoint 详情,请参见访问域名和数据中心。我选的华南3(广州)外网的是
oss-cn-guangzhou.aliyuncs.com
。 - accessKeyID、accessKeySecret:填写账号的 AccessKey。
2.非交互式配置
./ossutil config -e oss-cn-beijing.aliyuncs.com -i LTAIbZcdVCmQ**** -k D26oqKBudxDRBg8Wuh2EWDBrM0**** -L CH -c /myconfig
更多关于 config 的内容请参考:config
常用命令
ls(列举)
ossutil64.exe ls oss://testbucket-feng
cp(上传、下载、拷贝)
上传单个文件:
ossutil64.exe cp C:\Users\feng\Desktop\test.png oss://testbucket-feng/test/
上传文件夹(注意不能是oss://testbucket-feng/test/
):
ossutil64.exe cp -r C:\Users\feng\Desktop\dir oss://testbucket-feng/test/dir/
沿用原文件名保存文件:
ossutil64.exe cp oss://testbucket-feng/test/test.png C:\Users\feng\Downloads\
按指定文件名保存文件:
ossutil64.exe cp oss://testbucket-feng/test/test.png C:\Users\feng\Downloads\test222.png
下载文件夹:
ossutil64.exe cp -r oss://testbucket-feng/test/dir C:\Users\feng\Downloads\
更多命令请参考:ossutil常用命令
4.2 图形化管理工具ossbrowser
ossbrowser 是阿里云对象存储 OSS 的图形化管理工具,提供类似 Windows 资源管理器的功能。使用 ossbrowser,您可以方便地创建存储空间(Bucket)并进行上传、下载和管理文件(Object)等基础操作。支持 Windows 7 及以上版本、Linux 和 macOS 平台。
官方提供的下载链接如下:
下载安装好后,打开 ossbrowser 并登录,填写好相应账号创建提供的 AccessKeyId 和 AccessKeySecret,就可以进行上传、下载等操作了(当然必须管理员提供了相应权限)。
使用也很简单,这里不再赘述,更多说明请参考:图形化管理工具ossbrowser快速入门
参考: