github.com/aavshr/aws-sdk-go@v1.41.3/example/service/s3/listObjects/listObjects.go (about) 1 //go:build example 2 // +build example 3 4 package main 5 6 import ( 7 "fmt" 8 "os" 9 10 "github.com/aavshr/aws-sdk-go/aws/session" 11 "github.com/aavshr/aws-sdk-go/service/s3" 12 ) 13 14 // Lists all objects in a bucket using pagination 15 // 16 // Usage: 17 // listObjects <bucket> 18 func main() { 19 if len(os.Args) < 2 { 20 fmt.Println("you must specify a bucket") 21 return 22 } 23 24 sess := session.Must(session.NewSession()) 25 26 svc := s3.New(sess) 27 28 i := 0 29 err := svc.ListObjectsPages(&s3.ListObjectsInput{ 30 Bucket: &os.Args[1], 31 }, func(p *s3.ListObjectsOutput, last bool) (shouldContinue bool) { 32 fmt.Println("Page,", i) 33 i++ 34 35 for _, obj := range p.Contents { 36 fmt.Println("Object:", *obj.Key) 37 } 38 return true 39 }) 40 if err != nil { 41 fmt.Println("failed to list objects", err) 42 return 43 } 44 }