时间:2021-07-15 | 标签: | 作者:Q8 | 来源:小米开放平台网络
小提示:您能找到这篇{小米应用商店:开放文件存储使用指南}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的小米应用商店:开放文件存储使用指南内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
< "> < ">本文档介绍了开放文件存储使用相关内容,您可通过阅读以下内容,了解具体开放文件存储内容。 < ">1.小米开放文件存储(FDS)简介 < ">1.1 FDS综述 < ">小米开放文件存储(File Storage Service,简称FDS),是小米开放平台(http://dev.xiaomi.com)所提供的众多云服务之中的一种。FDS向开发者提供了简洁直观的Restful API,开发者可以直接通过标准Http协议来调用FDS的API,同时,为了方便广大开发者,FDS目前提供了Java、PHP和Android平台的SDK,开发者可以根据自己的应用需求选用合适的SDK。 < ">1.2 FDS的优势 < ">FDS专注于提供使用简便、可靠的文件存储服务,下面是FDS服务的一些优势: < ">简单的数据模型:FDS采用了Bucket/Object数据模型,跟业内主流系统保持一致,方便开发者理解,降低使用门槛; < ">直观易用的API:FDS提供了简洁的Restful API,开发者可以通过标准Http协议直接访问; < ">完善的认证与授权机制:FDS支持各种身份认证机制(包括签名、OAuth2.0和小米SSO认证),FDS还支持了完备的授权管理机制,最大程度的保护用户数据的安全; < ">弹性高可用的服务质量:FDS架构上支持良好的水平扩展性,对用户提供7x24高可用的服务; < ">灵活的应用场景:支持的文件大小不受限制,能很好地适应更种应用场景; < ">低廉的存储成本:支持Reed-Solomon编码,在保证数据可靠性的前提下,能够最大程度地节约存储成本。 < ">1.3 FDS的基本概念 < ">桶(Bucket):Bucket是存储Object的容器,在同一个Region内,Bucket是全局唯一的。每个Object都存在于某一个Bucket中,一个Bucket里面可以包含很多个Object。 < ">对象(Object):Object是用户实际存储在FDS中的数据,包括用户存储的文件内容和文件相关的元信息,它们合在一起,统称为Object。 < ">区域(Region):Region是物理上数据中心的划分,一个数据中心的FDS称之为一个Region。同一个Region内的Bucket在该Region内是全局唯一的。 < ">2.用户身份认证 < ">2.1签名认证 < ">本部分介绍FDS中用到的签名认证的基本原理。 < ">2.1.1基本概念 < ">使用FDS服务的签名算法,需要了解以下基本概念: < ">App Access Key:开发者在小米开放平台申请的App Access Key,用于标识开发者的App; < ">App Secret Key:开发者在小米开放平台申请App Access Key时颁发的App Secret Key,这个由用户自己保存,是用来做签名时的密钥; < ">Signature:根据Access Key,Secret Key和用户请求计算出的数字签名,用于验证用户身份。 < ">2.1.2基于签名的认证过程 < ">用户要使用签名来认证身份,通常需要按下面的步骤来进行: < ">构建准备发往FDS的Http请求; < ">使用App Secret Key和构建好的请求内容,计算签名; < ">将计算好的签名和App Access Key组合起来,置于Http请求的“authorization”Header中,将请求发往FDS; < ">FDS收到请求,从”authorization”Header中解析中App Access Key和对应的签名; < ">FDS用解析出的App Access Key获取到对应的App Secret Key; < ">FDS用App Secret Key和请求内容进行签名,得到服务端签名; < ">FDS对比服务端签名和用户请求解析出来签名,如果一致刚认证通过,否则认证不通过。 < ">注意:App Secret Key不会在上述请求过程中传输。 < ">2.1.3签名算法 < ">签名算法是签名认证的核心,以下是签名算法的详细介绍: < ">签名在Http头中的格式:“authorization:Galaxy-V2“+““+App Access Key+“:“+Signature; < ">签名计算:Signature=Base64(Hmac-Sha1(AppAccessSecret,StringToSign)); < ">签名字符串(StringToSign)的构造:StringToSign=HttpMethod+“n”+content-md5+“n”+content-type+“n”+date+“n”+CanonicalizedHeaders+CanonicalizedResource; < ">CanonicalizedHeaders构造: < ">用户可以通过“x-xiaomi-“的方式,向FDS传自定义的Header,CanonicalizedHeaders指的是规范化过之后的用户自定义的Headers,规范化的过程如下: < "> 1.所有的Header都要转成全小写; < "> 2.将Header按Key进行字典序排序; < "> 3.将具有相关Key的Headers合并,多个值之间用”,”分隔; < "> 4.将上述字符串连接起来即是CanonicalizedHeaders。 < ">CanonicalizedResource构造:CannonicalizedResource是由用户请求的Uri的相对路径加上FDS预定义的SubResource(Acl等)相关的参数组成的。 < ">2.1.4签名库 < ">FDS目前提供了C++/Java/PHP版本的签名库,详细的签名算法可以参见具体的签名库的实现。 < ">3.Bucket操作REST API指南 < ">3.1列所有Bucket < ">语义:列出当前用户所拥有的所有Buckets < ">语法:GET/HTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:信息流视频广告authorization_string < ">请求参数:无 < ">请求头: < ">3.2创建新Bucket < ">语义:创建指定名字的Bucket < ">语法:PUT/bucket_name HTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Content-Length:content_length Authorization:authorization_string < ">请求参数: < ">请求头: < ">3.3列Bucket下面的Object < ">语义:列出指定Bucket下面所有的Objects < ">语法:GET/bucket_name HTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string < ">请求参数: < ">请求头: < ">3.4删除Bucket < ">语义:删除指定名字的Bucket < ">语法:DELETE/bucket_name HTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string < ">请求参数:无 < ">请求头: < ">3.5判断Bucket存在性 < ">语义:判断指定的Bucket是否存在 < ">语法:HEAD/bucket_name HTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string < ">请求参数:无 < ">请求头: < ">4.Object操作REST API指南 < ">4.1上传Object(PUT) < ">语义:上传指定名字的Object到指定的Bucket下,同名Object为覆盖语义 < ">语法:PUT/bucket_name/object_nameHTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string bod广告优势y < ">请求参数: < ">请求头: < ">4.2上传Object(POST) < ">语义:从指定的Bucket下载指定的Object < ">语法:GET/bucket_name/object_nameHTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string < ">请求参数: < ">请求头: < ">4.3删除Object < ">语义:从指定的Bucket下删除指定的Object < ">语法:DELETE/bucket_name/object_nameHTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string < ">请求参数: < ">请求头: < ">4.4判断Object存在性 < ">语义:删除指定名字的Bucket < ">语法:DELETE/bucket_name HTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string < ">请求参数:无 < ">请求头: < ">4.5判断Bucket存在性 < ">语义:判断指定Bucket下是否存在指定的Object < ">语法:HEAD/bucket_name/object_nameHTTP/1.1 Host:files.fds.api.xiaomi.com Date:date Authorization:authorization_string < ">请求参数:无 < ">请求头: < ">4.6 Pre-signed URI < ">Pre-signed URI是FDS提供的一种灵活的共享资源的方式。Object的拥有者使用自己的App Secret Key预先对Object的访问链接进行签名,生成出带一定有效期的Pre-signed URI。Object拥有者将该Pre-signed URI发给其它用户,其它用户在上述有效期内可以用该Pre-signed URI对指定的Object,执行指定的操作。 < ">Pre-signed URI的格式如下:http://files.fds.api.xiaomi.com/bucket网络营销招生推广方案_name/object_name?Expires=expires&GalaxyAccessKeyId=app_access_key&Signature=signature < ">参数说明: < ">5.FDS错误码参考 < ">6.其它 < ">6.1使用缩略图服务 < ">FDS支持对JPEG/PNG/GIF三种类型的图片进行缩略,用户可以自行指定缩略的长、宽,具体用法是在请求的URL后面加下列参数: < ">6.2使用Https进行安全访问 < ">FDS支持通过Https进行访问,将正常访问的URL中的scheme由Http替换为Https即可。对于比较敏感的用户信息,请尽量使用Https进行上传、下载。 < ">6.3使用CDN加速下载请求 < ">FDS支持通过CDN加速下载请求,对于下载请求量比较大的应用,请尽量使用CDN来进行下载。CDN服务的地址为: < ">http://cdn.fds.api.xiaomi.com https://cdns.fds.api.xiaomi.com < ">7.文档修订历史 < ">2014/10/23,完成初始版本。 |
上一篇:eBay Listing优化做得好,曝光率、转化率和销量一
下一篇:小米应用商店:游戏审核规则文档
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“小米应用商店:开放文件存储使用指南”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通小米应用商店:开放文件存储使用指南的相关事宜。
关键词:小米应用商店:开放文件