Skip to content

Latest commit

 

History

History

s3

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

aws-sdk-go-v2-wrapper | S3

Quick Usage

import (
	"context"

	"github.com/evalphobia/aws-sdk-go-v2-wrapper/config"
	"github.com/evalphobia/aws-sdk-go-v2-wrapper/s3"
)

func main() {
	svc, err := s3.New(config.Config{
		AccessKey: "<...>",
		SecretKey: "<...>",
	})
	if err != nil {
		panic(err)
	}

	ctx := context.Background()
	has, err := svc.XExistObject(ctx, "my-bucket", "users/101/data")
	if err != nil {
		panic(err)
	}
	if !has {
		panic("cannot find the data")
	}

	result, err := svc.XGetObjectFromPath(ctx, "my-bucket", "users/101/data")
	if err != nil {
		panic(err)
	}
	if !result.Exists {
		panic("cannot find the data")
	}

	byt, err := fresult.ToBytes()
	if err != nil {
		panic(err)
	}
	fmt.Printf("[my-bucket/users/101/data] has %d bytes", len(byt))

	presignedURL, err := svc.XGetPresignURL(ctx, "my-bucket", "users/101/data", 10 * time.Minute)
	if err != nil {
		panic(err)
	}
	fmt.Printf("Download here: %s (this link expires after 10 minutes)", presignedURL)
	// ...
}

X API

Name Description
XCreateBucketFromName creates a bucket.
XDeleteBucketFromName deletes a bucket.
XDeleteAllObjects deletes all of objects in the bucket.
XDeleteObjectFromPath deletes an object.
XExistBucket checks if the bucket already exists or not.
XExistObject checks if the object exists or not.
XGetObjectFromPath gets an object.
XGetPresignURL gets an presigned url of the object for GET.
XPutObjectToPath puts an object to the path and bytes data.