面向对象存储oos教程说明_第1页
面向对象存储oos教程说明_第2页
面向对象存储oos教程说明_第3页
面向对象存储oos教程说明_第4页
面向对象存储oos教程说明_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OOS客服脚本1、 OOS基本知识1.1什么是OOS? 面向对象存储(Object-Oriented Storage,OOS)是中国电信为客户提供的一种海量、弹性、高可用、高性价比的存储服务,是一种开放式的存储服务。1.2 OOS基本概念?面向对象存储的主要概念有:Account(账户)、Service(服务)、Object(对象)和Bucket(对象容器)。它们之间的关系如下图所示。在使用OOS之前,首先需要在注册一个账号(Account),注册成功之后,OOS会为该账号提供服务(Service),在该服务下,用户可以创建1个或多个对象容器(Bucket),每个对象容器中可以存储不限数量的对

2、象(Object)。Account在使用OOS之前,需要在注册一个账号(Account)。注册时邮箱、密码和联系方式、用户名是必填项。注册成功之后,用户可以用该账号登录并使用OOS服务。ServiceService是OOS为注册成功的用户提供的服务,该服务为用户提供弹性可扩展的存储空间及上行和下行流量。用户可以对存储空间和能力进行管理,例如,文件的上传下载、文件的保存、存储空间的访问控制等。BucketBucket是存储Object的容器。面向对象存储的每个Object都必须包含在一个Bucket中。Bucket不能嵌套,每个Bucket中只能存放Object,不能再存放Bucket。每个用户

3、最多可以建立10个Bucket,并且在创建Bucket时需要设定其操作权限。用户只有对Bucket拥有相应的权限,才可以对其进行操作,这样保证了数据的安全性,防止非授权用户的非法访问。Bucket的命名规范如下:对象容器(Bucket)的命名规范是:Bucket名称必须全局唯一Bucket名称长度介于3到63字节之间Bucket名称可以由一个或者多个小节组成,小节之间用点(.)隔开各个小节需要:只能包含小写字母、数字和短横线(-)必须以小写字母或者数字开始必须以小写字母或者数字结束Bucket名称不能是IP地址形式(如)Object用户存储在OOS上的每个文件都是一个Ob

4、ject。文件可以是文本、图片、音频、视频或者网页。OOS支持的单个文件的大小从1字节到5T字节。用户可以上传、下载、删除和共享Object。此外用户还可以对Object的组织形式进行管理,将Object移动或者复制到目标目录下。1.3 OOS有什么特点?(1) 弹性扩展,按需付费对用户来说,OOS是一种低成本的存储资源,并且可以无限扩容,用户只需根据所使用的存储量进行付费即可,节约了成本。(2) 安全可靠OOS采用多级加密数据,对用户数据进行分片加密保存,保证用户数据的安全性。(3) 性能可靠OOS采用高可用的服务集群及动态负载均衡,保证用户顺利度过访问高峰。(4) 快速部署,便捷接入用户只

5、需在天翼云网站注册即可使用OOS服务,部署便捷。同时,OOS采用统一的应用程序编程接口为用户访问OOS资源提供了便捷的接入通道。1.4 OOS适合哪方面的应用?OOS主要适合以下类型的应用:(1)企业邮件、财务数据的存储、备份和归档。(2)交通录像、监控录像、呼叫中心的服务录音、档案管理、信息存储、网站托管服务等。(3)互联网在线视频、网络游戏、电子商务、门户及社交网站类应用的文件、音视频、图片存储。(4)中小型企业的静态网站托管。1.5 OOS适合存储哪些文件?OOS适合存储论坛网站与软件应用中的附件、高清图片、音视频、备份文件等,及各种APP应用、多终端同步软件、网盘下载站的文件存储,更详

6、细信息参考:1.6可对OOS的数据做哪些操作?1) 创建、查看、罗列、删除Bucket。2) 修改、获取Bucket的访问权限。3) 上传、查看、罗列、删除Object。4) 访问时支持If-Modified-Since和If-Match等HTTP参数。1.8如何订购OOS?您只需在天翼云官方网站上注册账号即可使用OOS服务,进入【产品中心】,选择【对象存储】,点击【我要开通】,即可收到开通成功的短信确认。进入控制台后即可使用oos。1.9 OOS怎么收费,有哪些计费项?收费项包括:存储容量、流出流量和请求次数。1)存储容量计费:按用户数据占用的存储空间容量收取费用;2)流出流量计费:按用户存

7、储数据被调用或下载产生的流量收取费用;3)请求次数计费:按照各种请求的次数收取费用。扣费方式:按天扣费,每晚12:00按用户的使用量进行扣费。欠费说明:OOS为每位用户提供一定的信用额度,当您处于欠费状态,但未超过信用额度时,OOS会发邮件提醒您进行充值。 当您欠费金额超过信用额度时,若您24小时之内 仍未进行充值,OOS服务将自动停止。而您所占用的存储空间的这部分资源仍会继续按日扣费, 因此欠费余额会累计。您可以在30天内充值补足欠费后,服务会自动开启,可以继续使用。欠费超过30天,将视为您主动放弃OOS存储服务, 存储空间将被回收,存储空间内的数据会被清理,数据不可恢复。价格列表容量价格规

8、格标准价格元/G/天元/G/月1GB0.022约0.65流量价格规格标准价格(元/GB)1GB0.55请求次数标准规格标准价格(元/GB) GET/HEAD请求0.01元/万次请求其它请求0.01元/千次请求1.10 OOS数据访问方式有哪些?1)通过OOS门户进行访问;2)通过Http REST API接口进行访问;3)通过OOS SDK进行编程;4)通过OOS备份客户端进行访问;5)通过OOS推荐的第三方工具(如webdrive,s3fs等)进行访问;1.11 OOS对文件格式有无要求?对文件格式没有要求1.12 OOS安全性怎么保障?1)在用户访问层面,所有针对OOS的数据请求都需要进行

9、签名验证,OOS提供全方位的访问控制策略,使对象的拥有者对该对象有灵活的访问控制权。2)在数据传输层面,不论是通过Web门户还是REST接口,用户的数据访问和操作都可以通过HTTPS协议进行,以确保数据传输中没有安全死角。3)在数据存储层面,OOS将用户数据自动切片,进行分布式保存,并且对每片数据进行签名,即使数据被盗,没有用户的账号信息依然无法对数据进行破解,这样就充分保证了数据在存储层面的安全性。4)在OOS系统的运维层面,通过利用中国电信的“虚拟云桌面”技术, 运维人员无法直接访问生产系统,而必须一个可录像的“虚拟桌面”才能访问,运维人员的一举一动都将被记录在案。5)在数据中心的运维层面

10、,中国电信具备全球最先进的数据中心管理和运营能力。OOS部署在8级抗震、一级耐火、一级防水、 通过ISO27001认证的的数据中心内部,与中国电信通信枢纽数据中心(武警守卫)同级别,具备完善的门禁制度、人员访控制度、设备巡检制度,确保物理层面的万无一失。1.13 OOS试用时间多长?我们通过给客户提供信用额的方式让用户免费试用OOS,试用时间不受限制,直到用户消费完信用额度为止,信用额度的消费跟OOS计费方式相同。目前的初始信用额度是100元。1.14 OOS与自建服务器存储对比(1) 弹性扩展云存储按使用量计费,用户无需考虑由于业务需求的增长而扩充初期投资成本。(2) 降低成本使用OOS,您

11、可以根据业务需求确定资源投入,避免投资和运营成本(电费、维护成本等)浪费。(3) 安全可靠云存储通过以下几种方式来保证数据安全:通过SSL加密技术和MD5校验技术,保障数据传输的安全通过数据自动切片、分布保存、每片签名等技术,保障数据存储的安全通过用户鉴权、ACL访问控制等方式,保障数据使用的安全通过7*24的专业运维团队、原厂的金牌服务,保障数据运维的安全自建存储需要开发者自己从技术角度去实现安全防护,比如防火墙配置、加密技术等,对开发者要求较高,而且容易出现安全漏洞。而OOS有专业的技术安全团队进行安全防护,同时运维团队7*24小时的安全监控也能及时得弥补安全漏洞。2、OOS FAQ2.1

12、 OOS API文档 “Date”字段的GMT格式说明?在OOS API文档中,使用到“DATE”表示时间的字段,必须为HTTP1.1中支持的GMT格式。有四种格式:EEE, d MMM yyyy HH:mm:ss GMTEEE, d MMM yyyy HH:mm:ss ZEEE, d MMM yyyy HH:mm:ss GMTZEEE, d MMM yyyy HH:mm:ss z字母日期或时间元素表示示例y年Year1996;96M年中的月份MonthJuly;Jul;07w年中的周数Number27W月份中的周数Number2D年中的天数Number189d月份中的天数Number10F月

13、份中的星期Number2E星期中的天数TextTuesday;TueaAm/pm 标记TextPMH一天中的小时数(0-23)Number0k一天中的小时数(1-24)Number24Kam/pm 中的小时数(0-11)Number0ham/pm 中的小时数(1-12)Number12m小时中的分钟数Number30s分钟中的秒数Number55S毫秒数Number978z时区General time zonePacific StandardTime;PST;GMT-08:00Z时区RFC 822 time zone-08002.2 OOS是否支持断点续传功能?支持,断点续上传和断点续下载都支

14、持。在GET请求中添加range参数即可支持标准的断点续传逻辑。使用multipart功能,可以实现分段上传。2.3 OOS是否支持分块传输编码的请求?不支持,HTTP协议有一种分块传输编码的机制(Chunked Transfer Encoding),即一个HTTP消息可以分成多个部分进行传输。它对HTTP请求和HTTP响应都是适用的。出于安全考虑,OOS不支持这种分块传输编码的请求。2.4 如何获取OOS文件的访问地址?1)请确定bucket开通时设置权限为公有或只读权限,如为私有读写则需要在URL后加入加密串获取,详细匹配方式见API文档中;2)object的外链地址(访问地址)构成规则如

15、下:http:/3)例如:创建了一个名称为“yunying的bucket,且权限设置为“公有”在文件夹“3”中,上传一个名为“1.jpg文件;其object的外链地址为:2.5 OOS下载有峰值吗,如何收费?OOS上传或下载不设峰值,没有流量、带宽、并发链接的限制,按客户实际使用量收费,每日将对前一天消费情况进行核算扣费。2.6 能否邦定自己的域名,而不仅仅通过访问?OOS目前支持CNAME的URL规则:CNAME方法:如您的bucket 名为cloudstorage,您的objcet image/pujing.jpg外链访问地址:http:/ 您的网站CNAME: 即可访问地址就可以映射为:

16、2.7 OOS可以限制ip或者域名访问吗?可以限制ip和域名访问,配置bucket 的policy即可。2.8 存储在OOS上的文件,如何设置防盗链功能?配置bucket 的policy即可,网站上有示例,参见:2.9 OOS不想让其它人访问,那有什么办法能实现么?可以把bucket设置为私有,或者配置Policy,限制ip或域名访问。2.10 OOS存储文件,能为多个用户设置访问权限吗?OOS目前不支持针对文件进行多用户访问权限的设置。2.11 OOS的API怎么用?从网站上下载OOS SDK,设置endpoint到即可,网站上有示例代码,可以参考,地址2.12 云服务器与OOS 上传文件,

17、流量与请求次数是否收费?目前是计费的,后续的新版本会是免费的。2.13 OOS API返回结果没有JSON格式的吗? 没有JSON格式的,返回结果是XML格式的。2.14如何进行大文件上传?1)有开发能力的用户可以通过OOS API或SDK来操作。 5GB以下文件或网络速度好的用户,可以使用PUT object 。 5GB以上或网络速度不好并且文件在100M以上的用户推荐使用Multipart Upload2)无开发基础客户可下载OOS客户端,请参考2.15 object怎么改名?两种方法可以实现:1. 您可以删除原来的文件,上传新命名的文件也能达到改名的效果。2. 您可以通过copy obj

18、cet 源文件复制成为一个新名字的文件,再把源文件删除即可。2.16 OOS中可以重命名bucket吗? OOS暂不支持bucket的重命名,若需要其他名称,建议您重新创建bucket。2.17 OOS是否支持object迁移?OOS 提供了COPY objcet的功能,您可以将原bucekt下的文件COPY到新bucket即可。2.18 java sdk中的 OOSclient对象是否是线程安全的?是线程安全的2.19 OOS是否支持多个object打包下载? 目前OOS不支持多个object打包下载。2.20 OOS返回的文件网络路径,域名都是ctyun的吗? 可以把bucketname设

19、置为域名,配置DNS,把域名指向,这样就可以通过域名访问object了。2.21 OOS中url中可以实现授权文件上传吗?目前没有此功能2.22 如何使用JAVA SDK源代码?网站上提供了sdk的源码下载,可以将其导入的Eclipse等IDE工具中。2.23为什么bucket下的文件都删除了,却还能查看到占用的空间,并且bucket也删除不了?请确认您是否使用过UploadMultipart的功能,如使用过,建议您可以通过UploadsListMultipart查看是否存在已经被初始化但是未被Complete或者Abort的MultipartUpload的part。如果有,则需再执行Abor

20、tMultipartUpload(来终止上次操作的MultipartUpload,该命令会自动删除未完成的part)。因为未完成合并的part,无法形成objcet, 所以通过object list是看不到这些残留的part, 但这些都会产生占用空间量。2.24 OOS支持bucket作为三级域名的访问方式吗?支持,三级域名外链访问方式:例如:http:/cloudstorage. 普通外链访问方式:http:/ 例如:http:/ 注:如果你的bucket里面有下划线_,那么由于不符合WWW规范,无法做为三级域名使用,只能使用普通外链访问方式。2.25 OOS中有好几个bucket,是否可以

21、实现不同域名cname到不同bucket,如何操作?可以,配DNS就可以,CNAME方法:例如:您的bucket 名为cloudstorage, 您的objcet 为image/pujing.jpg外链访问地址:http:/ 您的网站CNAME : cname 即可访问地址就可以映射: 2.26 什么是API密钥 OOS的API密钥是用来请求OOS资源时做验证用的,您可以在OOS账户中心的密钥管理模块查看和修改。2.27 可以绑定域名吗?可以2.28是否防盗链有,您可以通过配置Bucket的Policy(安全策略)来实现,具体参见这里2.29 OOS能否解决互联互通问题?1、OOS暂不支持互联

22、互通,但支持电信/联通双线网络;2、后期会解决互联互通问题。 2.30存储容量上限?一个Object最大支持5T,您也可以通过分段上传来实现超大文件的上传,文件大小没有限制。2.31是否支持压缩图片?OOS目前暂不支持图片压缩,后期会考虑提供支持。2.32是否支持批量上传您可以再OOS自服务门户的控制台中进行文件批量上传,也可以通过编写程序或使用第三方支持工具(s3fs,crOOSftp等)实现批量上传。2.33 OOS服务是否限制用户的并发请求数?OOS不会限制用户的并发请求数2.34 OOS接口能否在pad,android 使用OOS提供基于HTTP的的标准REST接口,可以跨平台使用。2

23、.35 OOS是否可以挂载到云服务器当硬盘用?可以,您可以通过第三方软件工具s3fs将OOS挂载到云服务器。2.36 最小计费单位?OOS的最小计量单位是“分”2.37 OOS支持FTP吗?支持,您可以使用第三方工具crOOSFtp来访问OOS;2.38 oos数据怎么备份?OOS底层默认对数据进行三次备份,您也可以通过将数据迁移到不同的bucket来进行备份;2.39支持的开发规范?接口规范?OOS采用兼容亚马逊S3的应用程序编程接口,支持通过基于Http的REST API来访问OOS服务。详情请参见OOS开发者文档;2.40 云存储计算器服务网站上有:3、工具下载地址OOS客户端工具论坛上

24、:4、OOS的错误响应当用户访问OOS出现错误时,OOS会返回给用户相应的错误码和错误信息,便于用户定位问题,并做出适当的处理。错误代码列表错误码描述HTTP状态码NotVerify用户未激活403 ForbiddenInvalidArgument无效的请求参数400BucketAlreadExists请求的bucket的name已经不可用,请选择不同的名字尝试。409 ConflictBucketNotEmpty试图删除的的bucket非空409 ConflictInvalidAccessKeyId你使用的OOS ID不存在403 ForbiddenInvalidBucketName指定的b

25、ucket无效400 Bad RequestInvalidURI无法解析指定的URL400 Bad RequestMethodNotAllowed指定的方法不允许操作该资源405 Method Not AllowedMissingContentLength在HTTP头中必须提供ContentLength411 length requiredRequestTimeTooSkewed请求的时间和服务器时间相差15分钟以上403 Bad RequestNoSuchBucket指定的bucket不存在404 Not FoundNoSuchKey指定对象的Key不存在404 Not FoundSigna

26、tureDoesNotMatch我们计算出的请求中的签名与用户提供的签名不一致。检查OOS账户安全403 ForbiddenTooManyBuckets你试图创建的bucket超出允许范围400 d Request5、开放接口规范5.1、关于Service的操作GetService(ListBucket)对于做Get请求的服务,返回请求者拥有的所有Bucket,其中“/”表示根目录。该API只对验证用户有效,用户需要使用有效的Key ID在OOS中注册,匿名用户不能执行该操作。GET / HTTP/1.1Host: Date: Wed, 01 Mar 2012 12:00:00 GMTAuth

27、orization: AWS mailaddress:xQE0diMbLRepdf3YB+FIEXAMPLE= 请求示例返回示例bcaf1ffd86f461ca5fb16fd081034fdisplayNamesample12012-09-01T16:45:09.000Zsample22012-09-01T16:41:58.000Z5.2关于Object操作Object的操作有:Put Object、Get Object、Head Object、Delete Object。 PutObjectPut Object用于上传文件。请求示例在名叫myBucket的bucket中,存储一张叫my-im

28、age.jpg的图片。PUT /my-image.jpg HTTP/1.1Host: myBDate: Mon, 03 Sep 2012 17:50:00 GMTAuthorization: AWS mailaddress:xQE0diMbLRepdf3YB+FIEXAMPLE=Content-Type: image/ipegContent-Length: 1143411434 bytes of object data返回示例HTTP/1.1 100 ContinueHTTP/1.1 200 OKx-amz-request-id: 0A49CE4060975EACDate: Mon, 03 S

29、ep 2012 17:50:00 GMTETag: 1b2cf535f27731c974343645a3985328Content-Length: 0Connection: closeServer: CTYUN 如果Head中没有加入Content length参数,会返回411 Length Required错误。 返回示例: 如果试图添加的Object所在的Bucket不存在,返回404 Not Found错误。 如果试图添加的Object所在的Bucket没有访问权限,返回403 Forbidden错误。 注意:如果试图添加的Object的同名文件已经存在,并且有访问权限。新添加的文件将

30、覆盖原来的文件,成功返回200 OK。 如果添加文件长度超过5T,返回错误消息400 Bad Request。 如果在Put Object的时候,携带以x-amz-meta-为前缀的参数,则视为user meta,比如x- amz-meta-location。一个Object可以有多个类似的参数,但所有的user meta总大小不能超过2k。 如果传入的Object key长度大于1023,返回400 Bad Request。 GetObject 用于获取某个Object,此操作要求用户对该Object有读权限。 下面示例中返回对象my-image.jpgGET /my-image.jpg H

31、TTP/1.1Host: Date: Mon, 03 Sep 2012 22:32:00 GMTAuthorization: AWS mailaddress:xQE0diMbLRepdf3YB+FIEXAMPLE= 返回示例HTTP/1.1 200 OKx-amz-request-id: 318BC8BC148832E5Date: Mon, 03 Sep 2012 22:32:00 GMTLast-Modified: Sat, 01 Sep 2012 17:50:00 GMTETag: fba9dede5f27731c9771645a39863328Content-Length: 434234

32、Content-Type: image/ipegConnection: closeServer: CTYUN434234 bytes of object data 如果文件不存在返回404 Not Found错误。 错误示例: GetObject时可以设定文件传送范围,在头中以Range设定。 例如,设定 bytes=0-9,表示传送第0到第9这10个字符。 注意:在返回消息中会包含整个文件的长度和此次返回的范围,例如:Content-Range: bytes 0-9/44,表示整个文件长度为44,此次返回的范围为0-9。如果不符合范围规范,则传送整个文件,并且不在结果中提及Content-R

33、ange。 如果设定If-Modified-Since,并传入上次修改时间,如果参数中的时间早于实际修改时间,正常传送文件,并返回200 OK。如果参数中的时间和实际修改时间一样或者更晚,会返回304 not modified。 2. 如果设定If-Unmodified-Since,如果传入参数中的时间等于或者晚于文件实际修改时间,传送文件并返回200 OK,如果早于实际修改时间,会返回412 precondition failed错误。 如果设定If-Match,并传入期望的ETag,若和object的ETag匹配,正常的发送文件。如果不符合,返回412 precondition faile

34、d错误。 如果设定If-None-Match来检查文件是否有更新,需要传入ETag,如果传入值和Object的相同,返回304 Not Modified。 GetObject操作支持包含If-Modified-Since,If-Unmodified-Since,If-Match和If-None-Match中多个条件查询,其中If-Modified-Since和If-Unmodified-Since可以同时存在,If-Match和If-None-Match也可以同时存在。在多条件查询时,遵循以下规则:1. 如果包含If-Unmodified-Since并且不符合或者包含If-Match并且不符合

35、,返回412 precondition failed。2. 如果包含If-Modified-Since并且不符合或者包含If-None-Match并且不符合,返回304 Not Modified。3. 返回200 OK,并传输文件。 HeadObject Head Object只返回某个Object的meta信息,不返回文件内容。 注意:不论正常返回200 OK还是非正常返回,Head Object都不返回消息体。请求示例:HEAD/bucket/my-image.jpg HTTP/1.1Host: Date: Wed, 28 May 2011 22:32:00 GMTHTTP/1.1 200

36、 OKx-amz-request-id: 318BC8BC143432E5Date: Wed, 28 May 2011 22:32:00 GMTLast-Modified: Sun, 1 Jan 2011 12:00:00 GMTETag: fba9dede5f27731c9771645a39863328Content-Length: 434234Content-Type: text/plainConnection: closeServer: CTYUN返回示例: 如果文件不存在返回404 Not Found错误。 HeadObject支持在头中设定If-Modified-Since, If-

37、Unmodified-Since, If-Match,If-None-Match,具体规则请参见GetObject中对应的选项。如果没有修改,返回304 Not Modified。 HeadObject支持在头中设定If-Modified-Since, If-Unmodified-Since, If-Match,If-None-Match,具体规则请参见GetObject中对应的选项。如果没有修改,返回304 Not Modified。 HeadObject和GetObject操作类似,支持包含If-Modified-Since,If-Unmodified-Since,If-Match和If-

38、None-Match中多个条件查询,其中If-Modified-Since和If-Unmodified-Since可以同时存在,If-Match和If-None-Match也可以同时存在。在多条件查询时,遵循以下规则。 如果包含If-Unmodified-Since并且不符合或者包含If-Match并且不符合,返回412 precondition failed。 如果包含If-Modified-Since并且不符合或者包含If-None-Match并且不符合,返回200 OK,并传输文件,返回304 Not Modified。 如果用户在PutObject的时候传入以x-OOS-meta-为开

39、头的user meta,比如x-OOS-meta-location,返回消息时,返回这些user meta。 DeleteObject DeleteObject用于删除某个Object 注意:如果文件不存在,也返回204 No ContentDELETE /my-image.jpg HTTP/1.1Host: Date: Mon, 03 Sep 2012 17:50:00 GMTAuthorization: AWS mailaddress:xQE0diMbLRepdf3YB+FIEXAMPLE=Content-Type: image/ipeg请求示例下一个例子中删除一个叫my-image.jp

40、g的图片对象返回示例HTTP/1.1 204 NoContentx-amz-request-id: 0A49CE4060975EACDate: Mon, 03 Sep 2012 17:50:00 GMTContent-Length: 0Connection: closeServer: CTYUN 如果Bucket不存在,返回404 Not Found5.3关于Bucket的操作Bucket的操作有:Put Bucket、Get Bucket、DeleteBucket、Get Bucket ACL、Put Bucket ACL。1、 Put BucketPut Bucket用于创建Bucket(

41、不支持匿名访问)。请求示例请求创建一个名叫picture的bucket:PUT / HTTP/1.1Host: Content-Length: 0Date: Mon, 03 Sep 2012 12:00:00 GMTAuthorization: AWS mailaddress:xQE0diMbLRepdf3YB+FIEXAMPLE=返回示例HTTP/1.1 200 OKx-amz-request-id: 236A8905248E5A01Date: Mon, 03 Sep 2012 12:00:00 GMTLocation: /pictureContent-Length: 0Connection

42、: closeServer: CTYUN如果请求的Bucket已经存在,并且请求者是所有者,同样返回200 OK成功。如果请求的Bucket已经存在,但是不是请求者所拥有的,返回409 Conflict。如果想创建的Bucket不符合命名规范,返回400 Bad Request消息:如果用户发起PUT Bucket请求的时候,没有传入用户验证信息,返回403 Forbidden消息。如果PutBucket的时候发现已经超过bucket最大创建数10时,返回400 Bad Request消息。 Get Bucket (List Object)Get Bucket操作可用来list Bucket中

43、所有Object的信息。请求示例GET / HTTP/1.1Host: BucketNDate: Mon, 03 Sep 2012 17:50:00 GMTAuthorization: AWS mailaddress:xQE0diMbLRepdf3YB+FIEXAMPLE=Content-Type: text/plain返回示例ListBucketResult xmlns=bucket 1000falsemy-image.jpg2012-09-03T17:50:30.000Z"fba9dede5f27731c9771645a39863328"434234STANDARD75

44、aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06ayourmailmy-third-image.jpg2012-09-03 T17:50:30.000Z"1b2cf535f27731c974343645a3985328&64994STANDARD75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06ayourmail使用请求变量的示例:注意:1.文件中自定义的meta,在GetBucket请求时不会返回。2.List的结果中会标识出那些ke

45、ys是Object Group。如果访问的Bucket不存在,包括试图访问因为命名不规范无法创建的Bucket,返回404 Not Found错误。如果没有访问该Bucket的权限,返回403 Forbidden错误。GetBucket(ListObject)时,也可以通过prefix,marker,delimiter和max-keys对list做限定,返回部分结果。1. prefix限定返回的object key必须以prefix作为前缀。注意使用prefix查询时,返回的key中仍会包含prefix。2. max-keys用于限定此次返回object的最大数,如果不设定,默认为100,ma

46、x-keys取值不能大于100。3. maker用户设定结果从marker之后按字母排序的第一个开始返回。4. prefix,marker用来实现分页显示效果,参数的长度必须小于256字节。5. delimiter是一个用于对Object名字进行分组的字符。所有名字包含指定的前缀且第一次出现delimiter字符之间的object作为一组元素CommonPrefixes。 利用delimiter这个参数,可以方便地实现出文件夹的功能,如一个bucket存在object : fun/test.jpg, fun/movie/001.avi, fun/movie/007.avi。若设定prefix为

47、”fun/” ,则返回三个object;如果增加设定delimiter为“/”,则返回”fun/test.jpg”和”fun/movie/”;即实现了文件夹的逻辑。如果把prefix设为某个文件夹名,例如/bucketName/folder1/,就可以罗列以此prefix开头的文件,即该文件夹下递归的所有的文件和子文件夹。如果再把delimiter设置为 / 时,返回值就只罗列该文件夹下的文件,该文件夹下的子文件名返回在CommonPrefixes部分,子文件夹下递归的文件和文件夹不被显示。如果因为max-keys的设定无法一次完成listing,返回结果会附加一个, 提示继续listing可

48、以以此为marker。NextMarker中的值仍在list结果之中。即使marker实际在列表中不存在,返回也从符合marker字母排序的下一个开始打印。如果max-keys小于0或者大于100,将返回400 Bad Request错误。若prefix,marker,delimiter参数不符合长度要求,返回400 Bad Request。Prefix不符合规范返回消息示例:(maker,delimiter参数不符合长度要求返回消息同prefix)。 Delete BucketDelete Bucket用于删除某个Bucket。请求示例:删除名叫doc的bucket:DELETE / HTTP/1.1Host: Date: Mon, 03 Sep 2012 12:00:00 GMTAuthorization: AWS mailaddress:xQE0diMbLRepdf3YB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论