go-bcs-sdk
go-bcs-sdk是使用go语言实现的一个百度云存储的sdk。目前百度云存储官方提供PHP、Java、python和C/C++的版本(详见这里),本sdk为非官方实现,功能暂时只提供以下几个:
- 创建object
- 删除object
- 下载object
由于工作中用到的部分只需要创建object并生成公共访问url,所以目前实现的功能仅仅够我用的,bucket操作、其他object操作等功能暂未实现。以后有时间的话会继续完善。代码托管在github上,地址为:https://github.com/zhujianfeng/go-bcs-sdk
安装
go get github.com/zhujianfeng/go-bcs-sdk
使用
引入
import "github.com/zhujianfeng/go-bcs-sdk"
初始化
ak := "your ak"
sk := "your sk"
host := "bcs server" //bcs的地址
pubhost := "bcs server" //object上传后生成访问地址重的域名,一般和host相同,在区分内外网时不同
baiduBCS := bcs.NewBaiduBcs(ak, sk, host, pubhost)
方法列表
创建object
func (bcs *BaiduBcs) CreateObject(bucket, object string, body []byte) (int, map[string][]string, string)
- bucket:object所在的bucket,需要保证该bucket存在
- object: 待创建的object
- body: object的内容
- 返回值分别为本次上传的http状态码、http头信息和object地址
根据文件路径创建object
func (bcs *BaiduBcs) CreateObjectByFile(bucket, object, path string) (int, map[string][]string, string)
- bucket:object所在的bucket,需要保证该bucket存在
- object: 待创建的object
- path: object在本地的路径
- 返回值分别为本次上传的http状态码、http头信息和object地址
根据文本内容创建object
func (bcs *BaiduBcs) CreateObjectByText(bucket, object, text string) (int, map[string][]string, string)
- bucket:object所在的bucket,需要保证该bucket存在
- object: 待创建的object
- text: 文本内容
- 返回值分别为本次上传的http状态码、http头信息和object地址
下载object
func (bcs *BaiduBcs) GetObject(bucket string, object string) ([]byte, error)
- bucket:object所在的bucket,需要保证该bucket存在
- object: 待下载的object
- 返回值分别为object内容和错误信息
下载object并保存到文件
func (bcs *BaiduBcs) GetObjectAndSave(bucket, object, path string) error
- bucket:object所在的bucket,需要保证该bucket存在
- object: 待下载的object
- path:object存到本地的文件路径
- 返回值:错误信息
删除object
func (bcs *BaiduBcs) DeleteObject(bucket, object string) error
- bucket:object所在的bucket,需要保证该bucket存在
- object: 待删除的object
- 返回值:错误信息