Skip to content

Instantly share code, notes, and snippets.

@Rauk
Created April 29, 2016 07:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rauk/e6865a85087ea71d6489c80db5b33be0 to your computer and use it in GitHub Desktop.
Save Rauk/e6865a85087ea71d6489c80db5b33be0 to your computer and use it in GitHub Desktop.
Some Common API examples
Create Client
client, err := minio.NewV2(Url, AccessKey, SecretKey, true)
if err != nil {
log.Fatalln(err)
}
Create Bucket and List buckets
err = client.MakeBucket("bucketName", "")
if err != nil {
log.Fatalln(err)
}
buckets, err := client.ListBuckets()
if err != nil {
log.Fatalln(err)
}
for _, bucket := range buckets {
log.Println(bucket)
}
List Objects and Delete All Objects In Bucket
doneCh := make(chan struct{})
defer close(doneCh)
var objectNames []string
for object := range s3Client.ListObjects(MyBucket, "", true, doneCh) {
if object.Err != nil {
fmt.Println(object.Err)
return
}
objectNames = append(objectNames, object.Key)
}
var wg sync.WaitGroup
for _, name := range objectNames {
wg.Add(1)
go func(name string) {
defer wg.Done()
err = s3Client.RemoveObject(MyBucket, name)
if err != nil {
log.Fatalln(err)
}
log.Println("Success", name)
} (name)
}
wg.Wait()
GetObject
reader, err := client.GetObject(MyBucket, MyObject)
if err != nil {
log.Fatalln(err)
}
defer reader.Close()
localFile, err := os.Create("/Users/raunak.agarwal/Desktop/text3.txt")
if err != nil {
log.Fatalln(err)
}
defer localFile.Close()
stat, err := reader.Stat()
if err != nil {
log.Fatalln(err)
}
if _, err := io.CopyN(localFile, reader, stat.Size); err != nil {
log.Fatalln(err)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment