Я пытаюсь использовать Golang, чтобы перечислить все объекты в S3 Bucket, однако, я нашел Golang
Функция S3 List будет возвращать только 1000 объектов.
Итак, в PHP я могу использовать
$ objects = S3-> getIterator (‘ListObjects’, array (‘Bucket’ => $ bucket, ‘Prefix’ => ‘test /’));
который может вернуть следующие 100x объекты, если я повторю 100X элементы в $ objects. Так есть ли
механизм (или функция итератора) в Голанге, что я также могу перебрать следующие 1000 объектов из
итератор?
Спасибо
Редактировать: Да, они делают.
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)
}
}
Других решений пока нет …