US3基本概念
在对象存储系统中,存储空间(Bucket)是文件(File)的组织管理单位,文件(File)是存储空间的逻辑存储单元。对于每个账号,该账号里存放的每个文件都有唯一的一对存储空间(Bucket)与键(Key)作为标识。我们可以把 Bucket 理解成一类文件的集合,Key 理解成文件名。由于每个 Bucket 需要配置和权限不同,每个账户里面会有多个 Bucket。在 US3 里面,Bucket 主要分为公有和私有两种,公有 Bucket 里面的文件可以对任何人开放,私有 Bucket 需要配置对应访问签名才能访问。
签名
本 SDK 接口是基于 HTTP 的,为了连接的安全性,US3 使用 HMAC SHA1 对每个连接进行签名校验。使用本 SDK 可以忽略签名相关的算法过程,只要把公私钥写入到配置文件里面(注意不要传到版本控制里面),读取并传给 UFileRequest 里面的 New 方法即可。 签名相关的算法与详细实现请见 Auth 模块
SDK源码和API文档
本 SDK 使用 godoc 约定的方法对每个 export 出来的接口进行注释。 你可以直接访问生成好的在线文档。
示例程序
源码example文件夹下提供了丰富的示例程序,具体如下:
示例文件 | 示例内容 |
---|---|
demo_context.go | 为http request 设置 context |
demo_bucket.go | 存储空间管理 |
demo_file.go | 文件基本操作,包括普通上传、表单上传、同步分片、下载、解冻、重命名、复制等 |
demo_io.go | 流式上传、下载 |
demo_iop.go | 图片处理 |
demo_policy.go | 上传后回调 |
demo_async_mput.go | 异步分片上传 |
demo_async_upload.go | 异步并发分片上传 |
demo_downloadfile.go | 文件下载,包括普通下载和流式下载 |
demo_storageclass_op.go | 存储类型转换 |
NEXT快速使用