又拍云 Ruby SDK

又拍云存储 Ruby SDK,基于 又拍云存储 HTTP REST API 接口 开发。

安装

gem install upyun-sdk

基本函数接口

初始化 UpYun

require 'upyun-sdk'

up = UpYun.new('bucket', 'username', 'password', 0)

其中,参数 bucket 为空间名称,usernamepassword 分别为授权操作员帐号和密码,必选。

根据国内的网络情况,又拍云存储 API 目前提供了电信、联通网通、移动铁通三个接入点,在初始化时可由参数 endpoint 进行设置,其可选的值有:

0      根据网络条件自动选择接入点,默认
1      电信接入点
2      联通网通接入点
3      移动铁通接入点

默认设置为 0,推荐根据服务器网络状况,手动设置合理的接入点以获取最佳的访问速度。同时,也可通过:

up.endpoint = 1

在对象使用过程中更改。

上传文件

直接传递文件内容的形式上传

up.put('/upyun-sdk/ascii.txt', 'abcdefghijklmnopqrstuvwxyz\n')

其中,参数 auto_mkdir 默认为 true,表示自动创建目录; checksum,默认 False,表示不进行 MD5 校验; headers ,可根据需求设置自定义 HTTP Header,例如作图参数 x-gmkerl-*, 具体请参考 标准 API 上传文件

上传成功,返回 true; 失败返回错误信息。

下载文件

直接读取文件内容

res = up.get('/upyun-sdk/ascii.txt')

下载成功,返回文件内容; 失败则返回错误信息。

获取文件信息

res = up.getinfo('/upyun-sdk/ascii.txt')

获取成功,返回一个 Hash 对象; 失败则返回错误信息。

创建目录

up.mkdir('/upyun-sdk/temp/')

其中,参数 auto_mkdir 默认为 true,表示自动创建目录。
创建成功,返回 true; 失败则返回错误信息。

删除目录或文件

up.delete('/upyun-sdk/ascii.txt')
up.delete('/upyun-sdk/temp/')

注意删除目录时,必须保证目录为空。
删除成功,返回 true; 失败则返回错误信息。

获取目录文件列表

res = up.getlist('/upyun-sdk/')

该方法默认获取根目录列表信息。
获取成功,返回一个包含该目录下所有目录或文件条目信息的数组; 失败则返回错误信息。

获取空间使用情况

res = up.usage()

该方法默认获取根目录空间使用情况。
获取成功,返回该空间当前使用的总容量,单位 Bytes; 失败则返回错误信息。

License

WTFPL (Do What the Fuck You Want)

Thanks

gccyugi megayu