Skip to main content

SDK – Go (aws-sdk-go-v2)

Use the AWS SDK for Go v2 with a custom endpoint.

Select S3 Endpoint
Choose preferred region.

go.mod​

module example

go 1.22

require (
github.com/aws/aws-sdk-go-v2 v1.30.0
github.com/aws/aws-sdk-go-v2/config v1.28.0
github.com/aws/aws-sdk-go-v2/service/s3 v1.66.0
)

Example​

package main

import (
"context"
"fmt"
"os"
awscfg "github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/credentials"
"github.com/aws/aws-sdk-go-v2/service/s3"
)

func main() {
endpoint := "https://"
cfg, err := awscfg.LoadDefaultConfig(context.Background(),
awscfg.WithRegion("us-east-1"),
awscfg.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(
os.Getenv("AURORA_ACCESS_KEY"),
os.Getenv("AURORA_SECRET_KEY"),
"",
)),
)
if err != nil { panic(err) }

client := s3.NewFromConfig(cfg, func(o *s3.Options) {
o.BaseEndpoint = &endpoint
o.UsePathStyle = true
})

out, err := client.ListBuckets(context.Background(), &s3.ListBucketsInput{})
if err != nil { panic(err) }
for _, b := range out.Buckets {
fmt.Println(*b.Name)
}
}