Есть ли в клиентской библиотеке golang S3 функция get Iterator для извлечения всех объектов из корзины S3

Я пытаюсь использовать Golang, чтобы перечислить все объекты в S3 Bucket, однако, я нашел Golang

Функция S3 List будет возвращать только 1000 объектов.

Итак, в PHP я могу использовать

$ objects = S3-> getIterator (‘ListObjects’, array (‘Bucket’ => $ bucket, ‘Prefix’ => ‘test /’));

который может вернуть следующие 100x объекты, если я повторю 100X элементы в $ objects. Так есть ли

механизм (или функция итератора) в Голанге, что я также могу перебрать следующие 1000 объектов из

итератор?

Спасибо

1

Решение

Редактировать: Да, они делают.

var (
sqsRegion string
)

func init() {
if err := godotenv.Load(); err != nil {
log.Fatalf("Error loading .env file: %s", err.Error())
}

sqsRegion = os.Getenv("AWS_REGION")
}

func main() {

sess := session.New(&aws.Config{Region: aws.String(sqsRegion)})

svc := s3.New(sess)

resp, err := svc.ListObjects(&s3.ListObjectsInput{
Bucket: aws.String("yourbucket"),
})

if err != nil {
log.Fatalln(err.Error())
}

for _, key := range resp.Contents {
log.Println(*key.Key)
}

}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]