1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
# Alibaba Cloud OSS SDK for Go
[](https://badge.fury.io/gh/aliyun%2Faliyun-oss-go-sdk)
[](https://travis-ci.org/aliyun/aliyun-oss-go-sdk)
[](https://coveralls.io/github/aliyun/aliyun-oss-go-sdk?branch=master)
## [README of Chinese](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/README-CN.md)
## About
> - This Go SDK is based on the official APIs of [Alibaba Cloud OSS](http://www.aliyun.com/product/oss/).
> - Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability.
> - The OSS can store any type of files and therefore applies to various websites, development enterprises and developers.
> - With this SDK, you can upload, download and manage data on any app anytime and anywhere conveniently.
## Version
> - Current version: 1.4.0.
## Run environment
> - Go 1.4 or above is recommended.
## Install OSS Go SDK
### Install the SDK through GitHub
> - Run the 'go get github.com/aliyun/aliyun-oss-go-sdk/oss' command to get the remote code package.
> - Use 'import "github.com/aliyun/aliyun-oss-go-sdk/oss"' in your code to introduce OSS Go SDK package.
## Quick use
#### Get the bucket list (List Bucket)
```go
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 a bucket (Create Bucket)
```go
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
err = client.CreateBucket("my-bucket")
if err != nil {
// HandleError(err)
}
```
#### Delete a bucket (Delete Bucket)
```go
client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
if err != nil {
// HandleError(err)
}
err = client.DeleteBucket("my-bucket")
if err != nil {
// HandleError(err)
}
```
#### Upload a file (Put Object)
```go
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)
}
```
#### Download an object (Get Object)
```go
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)
}
```
#### Get the object list (List Objects)
```go
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 an object (Delete Object)
```go
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)
}
```
#### Others
More example projects can be found at 'src\github.com\aliyun\aliyun-oss-go-sdk\sample' under the installation path of the OSS Go SDK (the first path of the GOPATH variable). The directory contains example projects.
Or you can refer to the example objects in the sample directory under 'https://github.com/aliyun/aliyun-oss-go-sdk'.
## Notes
### Run a sample project
> - Copy the example file. Go to the installation path of OSS Go SDK (the first path of the GOPATH variable), enter the code directory of the OSS Go SDK, namely 'src\github.com\aliyun\aliyun-oss-go-sdk',
and copy the sample directory and sample.go to the src directory of your test project.
> - Modify the endpoint, AccessKeyId, AccessKeySecret and BucketName configuration settings in sample/config.go.
> - Run 'go run src/sample.go' under your project directory.
## Contact us
> - [Alibaba Cloud OSS official website](http://oss.aliyun.com).
> - [Alibaba Cloud OSS official forum](http://bbs.aliyun.com).
> - [Alibaba Cloud OSS official documentation center](http://www.aliyun.com/product/oss#Docs).
> - Alibaba Cloud official technical support: [Submit a ticket](https://workorder.console.aliyun.com/#/ticket/createIndex).
## Author
> - Yubin Bai.
> - Hǎiliàng Wáng.
## License
> - Apache License 2.0.
|