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  }