阿里云-对象存储服务OSSAPI手册-D

上传人:1473****695 文档编号:141770392 上传时间:2020-08-12 格式:PDF 页数:30 大小:785.01KB
返回 下载 相关 举报
阿里云-对象存储服务OSSAPI手册-D_第1页
第1页 / 共30页
阿里云-对象存储服务OSSAPI手册-D_第2页
第2页 / 共30页
阿里云-对象存储服务OSSAPI手册-D_第3页
第3页 / 共30页
阿里云-对象存储服务OSSAPI手册-D_第4页
第4页 / 共30页
阿里云-对象存储服务OSSAPI手册-D_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《阿里云-对象存储服务OSSAPI手册-D》由会员分享,可在线阅读,更多相关《阿里云-对象存储服务OSSAPI手册-D(30页珍藏版)》请在金锄头文库上搜索。

1、对象存储 OSS API 手册 对象存储 OSS/API手册 1 API 手册 OSS API 文档简介 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云对外提供的海量,安全,低成本,高可 靠的云存储服务。用户可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上进 行上传和下载数据。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规 模数据的服务。 请确保在使用这些接口前,已充分了解了OSS产品说明、使用协议和收费方式。 API 概览 基本概念 本文中出现的一些术语请参考OSS 基本概念 关于 S

2、ervice 操作 API描述 GetService得到该账户下所有Bucket 关于 Bucket 的操作 API描述 Put Bucket创建 Bucket Put Bucket ACL设置 Bucket 访问权限 Put Bucket Logging开启 Bucket 日志 Put Bucket Website设置 Bucket 为静态网站托管模式 Put Bucket Referer设置 Bucket 的防盗链规则 Put Bucket Lifecycle设置 Bucket 中Object 的生命周期规则 对象存储 OSS/API手册 2 Get Bucket Acl获得 Bucket

3、 访问权限 Get Bucket Location获得 Bucket 所属的数据中心位置信息 Get Bucket Logging查看 Bucket 的访问日志配置情况 Get Bucket Website查看 Bucket 的静态网站托管状态 Get Bucket Referer查看 Bucket 的防盗链规则 Get Bucket Lifecycle查看 Bucket 中Object 的生命周期规则 Delete Bucket删除 Bucket Delete Bucket Logging关闭 Bucket 访问日志记录功能 Delete Bucket Website关闭 Bucket 的静

4、态网站托管模式 Delete Bucket Lifecycle删除 Bucket 中Object 的生命周期规则 Get Bucket(List Object)获得 Bucket 中所有 Object 的信息 Get Bucket Info获取 Bucket 信息 关于 Object 的操作 API描述 Put Object上传 object Copy Object拷贝一个 object成另外一个 object Get Object获取 Object Delete Object删除 Object Delete Multiple Objects删除多个 Object Head Object获得

5、Object的meta 信息 Post Object使用 Post 上传 Object Append Object在Object尾追加上传数据 Put Object ACL设置 Object ACL Get Object ACL获取 Object ACL信息 Callback上传回调 关于 Multipart Upload的操作 API描述 Initiate Multipart Uploade初始化 MultipartUpload事件 Upload Part分块上传文件 Upload Part Copy分块复制上传文件 对象存储 OSS/API手册 3 Complete Multipart U

6、pload完成整个文件的Multipart Upload上传 Abort Multipart Upload取消 Multipart Upload事件 List Multipart Uploads罗列出所有执行中的Multipart Upload事件 List Parts 罗列出指定 Upload ID所属的所有已经上传成功 Part 跨域资源共享 (CORS) API描述 Put Bucket cors在指定 Bucket 设定一个 CORS的规则 Get Bucket cors获取指定的 Bucket 目前的 CORS 规则 Delete Bucket cors关闭指定 Bucket 对应的

7、 CORS功能并清空所有规则 Option Object跨域访问 preflight请求 访问控制 用户签名验证( Authentication) OSS通过使用 AccessKeyId/ AccessKeySecret对称加密的方法来验证某个请求的发送者身份。AccessKeyId 用 于标示用户,AccessKeySecret是用户用于加密签名字符串和OSS 用来验证签名字符串的密钥,其中 AccessKeySecret必须保密,只有用户和OSS 知道。 AccessKey 根据所属账号的类型有所区分 - 阿里云账户 AccessKey :每个阿里云账号提供的AccessKey 拥有对拥有

8、的资源有完全的权限 - RAM 账户 AccessKey :RAM 账户由阿里云账号授权生成,所拥的AccessKey 拥有对特定资源限定的操 作权限 - STS临时访问凭证:由阿里云账号或RAM 账号生成,所拥的 AccessKey 在限定时间内拥有对特定资源 限定的操作权限。过期权限收回。 详情请参考 OSS 产品文档中 访问身份验证 当用户想以个人身份向OSS发送请求时,需要首先将发送的请求按照OSS指定的格式生成签名字符串;然后使 用AccessKeySecret对签名字符串进行加密产生验证码。OSS收到请求以后,会通过AccessKeyId 找到对应的 AccessKeySecret

9、 ,以同样的方法提取签名字符串和验证码,如果计算出来的验证码和提供的一样即认为该请 求是有效的;否则,OSS将拒绝处理这次请求,并返回HTTP 403 错误。 对象存储 OSS/API手册 4 在Header 中包含签名 用户可以在 HTTP请求中增加 Authorization(授权)的 Header 来包含签名 (Signature) 信息,表明这个消息已 被授权。 Authorization字段计算的方法 - AccessKeySecret表示签名所需的秘钥 - VERB 表示 HTTP 请求的 Method,主要有 PUT ,GET,POST ,HEAD ,DELETE等 - n 表示

10、换行符 - Content-MD5表示请求内容数据的MD5 值,对消息内容(不包括头部)计算MD5 值获得 128 比特位 数字,对该数字进行base64 编码而得到。该请求头可用于消息合法性的检查(消息内容是否与发送时 一致),如 eB5eJF1ptWaXm4bijSPyxw=,也可以为空。详情参看RFC2616 Content-MD5 - Content-Type表示请求内容的类型,如application/octet-stream,也可以为空 - Date 表示此次操作的时间,且必须为HTTP1.1 中支持的 GMT 格式,如 Sun, 22 Nov 2015 08:16:38 GMT

11、- CanonicalizedOSSHeaders表示以 x-oss-为前缀的 http header的组合 - CanonicalizedResource 表示用户想要访问的OSS 资源 其中, Date 和CanonicalizedResource不能为空;如果请求中的DATE时间和 OSS服务器的时间差正负15分钟 以上, OSS服务器将拒绝该服务,并返回HTTP 403 错误。 构建 CanonicalizedOSSHeaders的方法 所有以 x-oss-为前缀的 HTTP Header被称为 CanonicalizedOSSHeaders。它的构建方法如下: 1. 将所有以 x-o

12、ss- 为前缀的 HTTP请求头的名字转换成小写字母。如X-OSS-Meta-Name: TaoBao 转换成 x-oss-meta-name: TaoBao。 2. 如果请求是以 STS获得的 AccessKeyId 和AccessKeySecret发送时,还需要将获得的security- token 值,以 x-oss-security-token:security-token值的形式加入到签名字符串中。 3. 将上一步得到的所有HTTP 请求头按照名字的字典序进行升序排列。 4. 删除请求头和内容之间分隔符两端出现的任何空格。如x-oss-meta-name: TaoBao 转换成: x

13、- oss-meta-name:TaoBao。 Authorization: OSS + AccessKeyId + : + Signature Signature = base64(hmac-sha1(AccessKeySecret, VERB + n + Content-MD5 + n + Content-Type + n + Date + n + CanonicalizedOSSHeaders + CanonicalizedResource) 对象存储 OSS/API手册 5 5. 将每一个头和内容用n 分隔符分隔拼成最后的CanonicalizedOSSHeaders。 注意 构建 C

14、anonicalizedResource的方法 用户发送请求中想访问的OSS目标资源被称为CanonicalizedResource。它的构建方法如下: 1. 将CanonicalizedResource置成空字符串( ); 2. 放入要访问的 OSS资源: /BucketName/ObjectName(无ObjectName则 CanonicalizedResource为/BucketName/,如果 同时也没有 BucketName则为 / ) 3. 如果请求的资源包括子资源(sub-resource) ,那么将所有的子资源按照字典序,从小到大排列并以 day month year (e.

15、g., 02 Jun 1982)上述日期格式中,天 所占位数 都是 2 DIGIT。因此, Jun 2 、2 Jun 1982和2-Jun-82都是非法日期格式。 4. 如果签名验证的时候,头中没有传入Date 或者格式不正确,返回403 Forbidden错误。错误码 :AccessDenied。 5. 传入请求的时间必须在OSS服务器当前时间之后的15 分钟以内,否则返回403 Forbidden。错误码 :RequestTimeTooSkewed。 6. 如果AccessKeyId 是active 的,但 OSS判断用户的请求发生签名错误,则返回403 Forbidden,并在 返回给用

16、户的 response中告诉用户正确的用于验证加密的签名字符串。用户可以根据OSS的 response来检查自己的签名字符串是否正确。返回示例: 常见问题 SignatureDoesNotMatch The request signature we calculated does not match the signature you provided. Check your key and signing method. 47 45 54 0a 0a 0a 57 65 64 2c 20 31 31 20 4d 61 79 20 32 30 31 31 20 30 37 3a 35 39 3a 32 35 20 47 4d 54 0a 2f 75 73 72 65 61 6c 74 65 73 74 3f 61 63 6c 1E446260FF9B10C2 oss-cn- y5H7yzPsA/tP4+0tH1HHvPEwUv8= GET Wed, 11 May 2011 07:59:25 GMT /oss-example?ac

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号