github.com/jenshadlich/minio-go

Minio Go Library for Amazon S3 compatible cloud storage


Install
go get github.com/jenshadlich/minio-go

Documentation

Minio Go Library for Amazon S3 Compatible Cloud Storage Gitter

Description

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

Install

If you do not have a working Golang environment, please follow Install Golang.

$ go get github.com/minio/minio-go

Example

ListBuckets()

This example shows how to List your buckets.

package main

import (
    "log"

    "github.com/minio/minio-go"
)

func main() {
    // Requests are always secure (HTTPS) by default. Set secure=false to enable insecure (HTTP) access.
    // This boolean value is the last argument for New().

    // New returns an Amazon S3 compatible client object. API copatibality (v2 or v4) is automatically
    // determined based on the Endpoint value.
    secure := true // Defaults to HTTPS requests.
    s3Client, err := minio.New("s3.amazonaws.com", "YOUR-ACCESS-KEY-HERE", "YOUR-SECRET-KEY-HERE", secure)
    if err != nil {
        log.Fatalln(err)
    }
    buckets, err := s3Client.ListBuckets()
    if err != nil {
        log.Fatalln(err)
    }
    for _, bucket := range buckets {
        log.Println(bucket)
    }
}

Documentation

API documentation

Examples

Bucket Operations.

Object Operations.

File Object Operations.

Presigned Operations.

Bucket Policy Operations.

API Reference

GoDoc

Contribute

Contributors Guide

Build Status Build status