又拍云 Ruby SDK
又拍云存储 Ruby SDK,基于 又拍云存储 HTTP REST API 接口 开发。
安装
gem install upyun-sdk
基本函数接口
初始化 UpYun
require 'upyun-sdk'
up = UpYun.new('bucket', 'username', 'password', 0)
其中,参数 bucket
为空间名称,username
和 password
分别为授权操作员帐号和密码,必选。
根据国内的网络情况,又拍云存储 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)