func deleteBucket(sess *session.Session, bucketName string) error { svc := s3.New(sess) _, err := svc.DeleteBucket(&s3.DeleteBucketInput{ Bucket: aws.String(bucketName), }) if err != nil { if aerr, ok := err.(awserr.Error); ok { switch aerr.Code() { case s3.ErrCodeNoSuchBucket: return fmt.Errorf("bucket %s does not exist", bucketName) default: return fmt.Errorf("failed to delete bucket: %s", aerr.Error()) } } else { return err } } return nil }
func listBuckets(sess *session.Session) error { svc := s3.New(sess) result, err := svc.ListBuckets(nil) if err != nil { return err } fmt.Println("Buckets:") for _, b := range result.Buckets { fmt.Printf("* %s created on %s\n", aws.StringValue(b.Name), aws.TimeValue(b.CreationDate)) } return nil }In this example, we are listing all S3 buckets using the ListBuckets method. If an error occurs, we simply return the error and let the caller handle it.