
虚拟存储服务面向第三方服务开发人员,提供了开发工具包和开放的API,方便开发人员在开发过程中使用虚拟存储服务。我们为开发人员提供了以下八个功能:
(一) 注册用户
在www.efirsta.com上注册一个用户,申请虚拟存储服务(申请前请仔细阅读服务条款),申请成功后将获得一个服务序号ServiceKey。
(二) 桶的使用
注册成功后,用户可以登录到虚拟存储系统对桶进行管理,一个用户可以创建多个桶,每个桶下不限量存储对象。调用桶创建方法来创建一个新桶,需要注意,桶名的作用域并不是在用户层面。例如:如果已经创建了一个名为Bucket1的桶,那么其他用户就不能再创建相同名字的桶了。如果创建成功会返回null,如果桶名重名,会返回一个”桶名已经存在”的异常信息。
用户可以删除桶,但是只能删除自己所创建的桶,删除桶应先删除桶中的所有文件然后在删除这个桶。
(三) 上传文件
下载虚拟存储库文件,将它应用到应用程序中,使用库文件中开放的API将本地文件流使用SOAP通过HTTP把此流传递到虚拟存储数据中心。在上传过程中须指定用户名、密码和服务序号ServiceKey,同时还要指定文件存放的目录。上传文件时还要指定一个键名,键名和文件名是等同的,如果此键名的文件已经存在,就覆盖这个文件。为了防止文件上传过程中出现网络中断等异常情况时,虚拟存储服务提供了断点续传的功能。
出于安全性的考虑,文件上传成功后会返回这个文件的标签,它是虚拟存储服务所接收的文件内容的Hash密码。用户可以自己计算此文件的Hash密码,然后与返回的标签值比对。如果这两个值相同,那么传输过程中没有被损坏或篡改。如果两个值不相同,那么需要重新上传这个文件。
(四) 管理文件
删除文件
要删除一个文件,我们需要指定此文件对象所在的桶,以及要删除的对象名。删除操作是不能恢复的,一旦某个文件被删除了,就不能找回。
修改文件
如果要修改文件,则需要将修改后的文件重新上传到数据中心,覆盖原来的文件。
(五) 访问虚拟存储文件
通过桶名+文件名访问虚拟存储文件。例如:在名为Bucket1的桶里上传了一个名为demo的文件,即可以通过Bucket1.efirsta.com/demo来访问此文件。
(六) 数据访问权限
为了保证数据的私密和安全,虚拟存储服务提供了数据访问权限管理。每个对象和桶都需要一组授权或权限设置,只有具有相应权限的用户才能访问某个桶或对象。
(七) 虚拟存储服务身份验证
虚拟存储服务会对每个方法调用进行身份验证。在虚拟存储服务里没有会话的概念,在调用方法时除了提供此API所需的参数外,还要提供一组身份验证参数。
时间戳
在调用每个方法时都需要提供时间戳,时间戳是一个DateTime对象,必须把当前时间转换为格林威治时间。
签名
签名可以验证当前用户的密钥,该密钥是一个特殊的密码,只有注册的开发人员知道,并且不应该透露给其他人。输入此密钥可以创建一个摘要,虚拟存储服务可以通过此摘要验证此操作请求是否有效,是否被篡改。