Minio Go library is a simple client library for S3 compatible cloud storage servers. Supports AWS Signature Version 4 and 2. AWS Signature Version 4 is chosen as default.
List of supported cloud storage providers.
-
AWS Signature Version 4
- Amazon S3
- Minio
-
AWS Signature Version 2
- Google Cloud Storage (Compatibility Mode)
- Openstack Swift + Swift3 middleware
- Ceph Object Gateway
- Riak CS
If you do not have a working Golang environment, please follow Install Golang.
$ go get github.com/minio/minio-go
This example shows how to List your buckets.
package main
import (
"log"
"github.com/minio/minio-go"
)
func main() {
config := minio.Config{
Endpoint: "https://s3.amazonaws.com",
AccessKeyID: "YOUR-ACCESS-KEY-HERE",
SecretAccessKey: "YOUR-PASSWORD-HERE",
}
// Default is Signature Version 4. To enable Signature Version 2 do the following.
// config.Signature = minio.SignatureV2
s3Client, err := minio.New(config)
if err != nil {
log.Fatalln(err)
}
for bucket := range s3Client.ListBuckets() {
if bucket.Err != nil {
log.Fatalln(bucket.Err)
}
log.Println(bucket)
}
}
- MakeBucket(bucketName, location) error
- BucketExists(bucketName) error
- RemoveBucket(bucketName) error
- GetBucketACL(bucketName) (BucketACL, error)
- SetBucketACL(bucketName, BucketACL) error)
- ListBuckets() <-chan BucketStat
- ListObjects(bucketName, prefix, recursive) <-chan ObjectStat
- ListIncompleteUploads(bucketName, prefix, recursive) <-chan ObjectMultipartStat
- PutObject(bucketName, objectName, contentType, io.ReadSeeker) error
- GetObject(bucketName, objectName) (io.ReadSeeker, error)
- GetPartialObject(bucketName, objectName, offset, length) (io.ReadSeeker, error)
- StatObject(bucketName, objectName) (ObjectStat, error)
- RemoveObject(bucketName, objectName) error
- RemoveIncompleteUpload(bucketName, objectName) <-chan error