Aliyun OSS (Object Storage Service) Go SDK is a client SDK to access Aliyun OSS API, implemented in the Go programming language.
Installation
go get -u github.com/aliyun/aliyun-oss-go-sdk/oss
go test -v -cover github.com/aliyun/aliyun-oss-go-sdk/oss
Highlights
- Complete set of Aliyun OSS API
 - Thouroughly tested
- 100% test coverage
 - intuitive table driven tests
 - full test suite completes within 2 seconds
 
 - Lint clean
- golint
 - go fmt
 - goimports
 - go vet
 - race detector
 
 - Idiomatic & elegant
- response is returned as a parsed object
 - error is returned as a Go error
 - named options for setting headers & parameters
 
 - Great extensibility
- clean and orthogonal implementation
 - users can easily extend the SDK when a new API method is supported
 
 - No third party dependencies
 
Documentation
- Overview
 - API Object
 - Bucket
 - Object
 - Optional Headers and Parameters
 - Multipart Upload
 - Cross-Origin Resource Sharing (CORS)
 - Object Lifecycle Management
 - Extending the SDK
 
Differences with Python SDK
- HTTP header User-Agent, e.g. aliyun-sdk-go/0.1.1 (Linux/3.16.0-51-generic/x86_64;go1.5.1)
 - Go HTTP client does not support 100-Continue (will be supported after Go 1.6, see https://github.com/golang/go/issues/3665)
 - HTTP header keys are automatically converted into canonical format, e.g. x-oss-acl becomes X-Oss-Acl
 - Go GET request does not have redundant “Content-Length: 0” header
 - Parameters will be omitted if the argument is not set
 - Go always sends URL parameters and headers in canonical order
 
License
licensed under the Apache License 2.0
