Skip to content

rockuw/aliyun-oss-go-sdk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aliyun OSS SDK for Go

GitHub version Build Status Coverage Status

关于

  • 此Go SDK基于阿里云对象存储服务官方API构建。
  • 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。
  • OSS适合存放任意文件类型,适合各种网站、开发企业及开发者使用。
  • 使用此SDK,用户可以方便地在任何应用、任何时间、任何地点上传,下载和管理数据。

版本

  • 当前版本:1.2.1

运行环境

  • 推荐使用Go 1.4及以上。

安装方法

GitHub安装

  • 执行命令go get github.com/aliyun/aliyun-oss-go-sdk/oss获取远程代码包。
  • 在您的代码中使用import "github.com/aliyun/aliyun-oss-go-sdk/oss"引入OSS Go SDK的包。

快速使用

获取存储空间列表(List Bucket)

    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)
    }

创建存储空间(Create Bucket)

    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
    if err != nil {
        // HandleError(err)
    }
    
    err = client.CreateBucket("my-bucket")
    if err != nil {
        // HandleError(err)
    }

删除存储空间(Delete Bucket)

    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
    if err != nil {
        // HandleError(err)
    }
    
    err = client.DeleteBucket("my-bucket")
    if err != nil {
        // HandleError(err)
    }

上传文件(Put Object)

    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)
    }

下载文件 (Get Object)

    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)
    }

获取文件列表(List Objects)

    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)
    }

删除文件(Delete Object)

    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目录中的示例文件。

注意事项

运行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

联系我们

作者

  • Yubin Bai
  • Hǎiliàng Wáng

License

  • Apache License 2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 70.8%
  • HTML 29.2%