阿里云对象存储OSS提供的海量、安全和高可靠的云存储服务。存储容量和处理能力的弹性扩展,真正使您专注于核心业务,广泛的应用于海量数据存储与备份,数据加工与处理,内容加速分发,业务数据挖掘分析等多种业务场景。详细介绍见[阿里云官网](http://www.aliyun.com/product/oss/?spm=5176.383663.3.14.RM2v6L)。
本次发布的OSS Go SDK包含了丰富的功能,简洁的接口,详细的例子...
## 主要功能包括:
- 简洁、丰富、易用的接口,如PutObject/GetObject/ListObjects;
- 并发上传/下载;
- 断点续传的上传/下载;
- 全面支持STS/HTTPS/CNAME访问;
- 详尽的示例,按照使用场景列出示例,看一眼就知道是您想要的;
- 支持所有存储空间(bucket)所有管理接口。
## 安装方式:
go get github.com/aliyun/aliyun-oss-go-sdk/oss
## 使用方式:
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
## 简单示例:
```go
package main
import (
"fmt"
"io/ioutil"
"strings"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
client, _ := oss.New("http://oss-cn-hangzhou.aliyuncs.com",
"YourAccessKeyId",
"YourAccessKeySecret")
bucket, _ := client.Bucket("my-bucket")
// 字符串上传下载
err := bucket.PutObject("my-object-1", strings.NewReader("Hello Oss"))
rd, err := bucket.GetObject("my-object-1")
data, err := ioutil.ReadAll(rd)
rd.Close()
fmt.Println(string(data))
// 文件上传下载
err = bucket.PutObjectFromFile("my-object-2", "mypic.jpg")
err = bucket.GetObjectToFile("my-object-2", "mynewpic.jpg")
// 分片并发,断点续传上传/下载
err = bucket.UploadFile("my-object-3", "mypic.jpg", 100*1024, oss.Routines(3), oss.Checkpoint(true, ""))
err = bucket.DownloadFile("my-object-3", "mynewpic.jpg", 100*1024, oss.Routines(3), oss.Checkpoint(true, ""))
// 查看Object
lsRes, err := bucket.ListObjects()
fmt.Println("my objects:", lsRes.Objects)
// 上面的err都需要处理,此处略
if err != nil {
// TODO
}
}
```
跃跃欲试了吧,Let’u go吧。
## 更多内容请访问:
> - github地址:https://github.com/aliyun/aliyun-oss-go-sdk
> - SDK文档:http://help.aliyun.com/document_detail/oss/sdk/go-sdk/install.html
> - API文档:https://godoc.org/github.com/aliyun/aliyun-oss-go-sdk/oss