了解OOS使用中的基本概念
Bucket(存储空间)
Bucket是用户用来管理所存储Object的存储空间。每个用户可以拥有多个Bucket。Bucket的名称在OSS的范围内必须是全局唯一的,一旦创建之后无法修改名称。Bucket内部的Object数目是没有限制的,
Bucket对于用户来说是一个管理Object的单元,所有的Object都必须隶属于某个Bucket。Bucket有一些属性熟用来控制Region、Object的访问控制、Object的生命周期等,这些属性是作用在该Bucket下所有的Object上的,因此用户可以灵活创建不同的Bucket来完成不同的管理功能。
Object(对象,文件)
Bucket命名规范:
只能包括小写字母,数字和短横线(-)
必须以小写字母或者数字开头
长度必须在3-63字节之间
Object是OSS存储数据的基本单元,称为OSS的对象,也被称为OSS的文件。
Object命名规范:
使用utf-8编码
长度必须在1-1023字节之间
不能以“/”或者“\”字符开头
注意:Object的名字是大小写敏感的
Region(区域)
Region表示OSS的数据中心所在的区域,物理位置。用户可以根据费用、请求来源等综合选择数据存储的Region。一般来说,距离用户更近的Region访问速度更快。目前已经开通的Region有杭州,上海,深圳,北京,青岛,香港,美国,新加坡。
Region是在创建Bucket的时候指定的,一旦自定之后就不允许更改,该Bucket下所有的Object都存储在对应的数据中心,目前不支持Object级别的Region设置。
Endpoint(访问域名)
Endpoint表示OSS对外访问的访问域名。OSS以HTTP REST API的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。通过内网和外网访问同一个Region所需要的Endpoint也是不同的。
AccessKey(访问密钥)
AccessKey,简称AK,指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。OSS通过使用AccessKeyId和AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId用于标示用户,AccessKeySecret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,其中AccessKeySecret必须保密。
如何设置OSS的默认页面
OSS提供静态网站托管功能,用户可以通过OSS将自己的Bucket配置成静态网站托管模式,并通过Bucket域名访问该静态网站。
操作流程:
进入管理控制台-对象存储OSS-Bucket管理,点击右侧设置-website设置:
注意事项:
1)如果默认页面为空,则表示不启用静态网页托管。即表示采用静态网页托管必须设置默认首页
2)建议用户采用静态网页托管模式时,使用CNAME绑定自己域名。由于直接使用Bucket域名进行访问时OSS做了限制,用户据的文件无法直接在浏览器显示。
3)直接访问静态网站根域名或该域名下任何一个以“/”的url都会返回默认首页
4)目前Website设置不支持设置Bucket下文件夹的默认首页。
Cors如何设置使用
Cors的中文名时跨域资源共享,是HTML5提供的标准跨域解决方案。
跨域访问:
也叫JavaScript的跨域访问问题,是浏览器处于安全考虑而设置的一个限制,即同源策略。当来自A网站的页面中的JavaScript代码希望访问B网站的时候,浏览器会拒绝该访问,因为A,B两个网站是属于不同的域。
CORS主要使用场景:
CORS使用一定是在使用浏览器的情况下,因为控制访问权限的是浏览器而非服务器。因此使用其他的客户端的时候无需关心如何跨域问题。
CORS配置的一些注意事项:
来源:配置的时候要带上完整的域信息,比如示例中就是http://test.ss.com,注意不要遗漏了协议名如http,如果端口号不是默认的还要带上端口号之类的。如果不确定的话,可以使用通配符*。
Method:按照需求开通对应的方法即可。
Allow Header:允许通过的Header列表,因为这里容易遗漏Header,因此建议没有特殊需求的情况下设置为*。大小写不敏感。
Expose Header:暴露给浏览器的Header列表,一般来说都不应该暴露这些信息,这里可以不填。如果有特殊需求可以单独指定。大小写不敏感。
缓存时间:如果没有特殊情况可以酌情设置大一点,比如60S。
OSS的bucket的权限(ACL)的管理
对OSS的资源访问分为拥有者访问和第三方用户访问,这里的拥有者指的是Bucket的拥有者,也称为开发者,第三方用户是指访问Bucket里资源的用户;而每一次向OSS的请求根据当前Bucket权限和操作不同要求用户进行身份验证或者直接匿名访问。
Bucket权限类型:
OSS提供ACL权限控制方法,OSS ACL提供bucket级别的权限访问控制,bucket目前有三种访问权限:公共读写(public-read-write),公共读,私有写(public-read)和私有读写(private)。
如何开启OSS的访问日志功能:
OSS为用户提供自动保存访问日志的功能,Bucket的拥有者可以通过OSS控制台,为其所拥有的bucket开启访问日志记录功能。
当一个bucket开启访问日志记录功能后,OSS自动将访问Bucket中文件的请求访问记录,以小时为单元,按照设置的命令规则,生成一个Object写入用户指定的bucket(目标bucket,target bucket)。日志每一小时自动生成一次(有一定延迟),通过对生成的日志文件进行分析,可以轻松定位在OSS Bucket上的所有操作。
如何获取object访问地址:
进入OSS管理控制台,点击[bucket管理]->再点击[浏览]进入bucket的管理页面
如何为object设置文件夹:
文件夹命名时存在规范的:
1.只能包含字母,数字,中文,下划线(_)和短横线(-),小数点(.)
2.只能以字母、数字或者中文开头
3.文件夹的长度限制再1-254之间
4.object总长度必须再1-1023之间
如何设置object的访问签名:
如果访问object需要通过携带签名的访问,需要现在Bucket属性页面的【读写权限ACL设置】将bucket的读写权限设置为私有
这是获取的低素质时存在时效限制的,您可以对时间进行修改,之后点击【获取URL】
通过API/SDK创建bucket
OSS使用http协议进行交互,底层是采用REST接口的API进行操作,可以通过API接口来创建bucket。
API接口对于用户要求较高,如果用户具有网络开发经验,可以直接向OSS服务器发送http请求进行操作。为降低API操作难度,阿里云对API接口封装了SDK。使用SDK可以方便调用接口对OSS进行操作。
LifeCycle如何设置使用
功能介绍:
LiferCycle是什么?
意思是生命周期。管理OSS上数据的存放时间,可以实现定期自动删除数据的功能。
规则说明:
状态:指定本条规则的状态,分别表示启动该规则和禁用该规则
策略:选择匹配object的策略,可以选择直接匹配整个bucket,也可以按照object前缀匹配。
过期:设置过期时间,默认单位是天,在N天后过期,删除数据。
通过API/SDK拷贝文件
概述:将同一数据中心的bucket上的数据进行迁移可使用CopyObject和UploadPartCopy实现。
区别:如果是1GB以下文件采用CopyObject(超过该大小会返回400和错误 提示:EntityTooLarge),超过该大小的则使用UploadPartCopy。
优缺点:
优点:速度较快
缺点:操作复杂
通过OSSCMD可方便实现。
通过OSS-imoprt工具迁移
概述:oss-import可将用户本地或者其他云存储的文件迁移到OSS中
优缺点:优点:兼容windows/Linux系统:配置简单:提供动态配置参数方便用户结合自身场景进行迁移;支持多处数据来源设置。
缺点:操作复杂,无法普适所有用户
通过云市场服务迁移
概述:云市场提供了海量数据迁移到OSS的功能,用户可以购买该服务有第三方实现迁移数据的功能。
优缺点:优点:操作便捷,速度较块
缺点:需要费用花销
如何设置OSS的防盗链:
OSS是按使用量收费的服务,为了减少用户存储于OSS的数据被其他人盗链而产生额外费用。OSS支持基于HTTPheader中表头字段referer的防盗链方法。
通过观礼台上传下载:
OSS控制台默认有文件上传的功能,用户可以登录OSS控制台,将文件上传到OSS中。