- 此Go SDK基于阿里云对象存储服务官方API构建。
- 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。
- OSS适合存放任意文件类型,适合各种网站、开发企业及开发者使用。
- 使用此SDK,用户可以方便地在任何应用、任何时间、任何地点上传,下载和管理数据。
- 当前版本:1.2.1
- 推荐使用Go 1.4及以上。
- 执行命令
go get github.com/aliyun/aliyun-oss-go-sdk/oss
获取远程代码包。- 在您的代码中使用
import "github.com/aliyun/aliyun-oss-go-sdk/oss"
引入OSS Go SDK的包。
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
lsRes, err := client.ListBuckets()
if err != nil {
// HandleError(err)
}
for _, bucket := range lsRes.Buckets {
fmt.Println("Buckets:", bucket.Name)
}
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
err = client.CreateBucket("my-bucket")
if err != nil {
// HandleError(err)
}
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
err = client.DeleteBucket("my-bucket")
if err != nil {
// HandleError(err)
}
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket("my-bucket")
if err != nil {
// HandleError(err)
}
err = bucket.PutObjectFromFile("my-object", "LocalFile")
if err != nil {
// HandleError(err)
}
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket("my-bucket")
if err != nil {
// HandleError(err)
}
err = bucket.GetObjectToFile("my-object", "LocalFile")
if err != nil {
// HandleError(err)
}
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket("my-bucket")
if err != nil {
// HandleError(err)
}
lsRes, err := bucket.ListObjects()
if err != nil {
// HandleError(err)
}
for _, object := range lsRes.Objects {
fmt.Println("Objects:", object.Key)
}
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
bucket, err := client.Bucket("my-bucket")
if err != nil {
// HandleError(err)
}
err = bucket.DeleteObject("my-object")
if err != nil {
// HandleError(err)
}
更多的示例程序,请参看OSS Go SDK安装路径(即GOPATH变量中的第一个路径)下的src\github.com\aliyun\aliyun-oss-go-sdk\sample
,该目录下为示例程序,
或者参看https://github.com/aliyun/aliyun-oss-go-sdk
下sample目录中的示例文件。
- 拷贝示例文件。到OSS Go SDK的安装路径(即GOPATH变量中的第一个路径),进入OSS Go SDK的代码目录
src\github.com\aliyun\aliyun-oss-go-sdk
, 把其下的sample目录和sample.go复制到您的测试工程src目录下。- 修改sample/config.go里的endpoint、AccessKeyId、AccessKeySecret、BucketName等配置。
- 请在您的工程目录下执行
go run src/sample.go
。
- 阿里云OSS官方网站
- 阿里云OSS官方论坛
- 阿里云OSS官方文档中心
- 阿里云官方技术支持:提交工单
- Yubin Bai
- Hǎiliàng Wáng
- Apache License 2.0