Список файлов S3 по новейшим - PullRequest
0 голосов
/ 17 октября 2018

Я работаю над Lambda, которому нужно перечислить объекты в корзине S3 и создать URL-адрес на основе файлов * item.Key.Проблема, к которой я быстро подхожу, состоит в том, что скоро в корзине будет более 1000 элементов.

В настоящее время я использую for, чтобы вернуть только последний файл, который содержит определенный элемент. Ключ:

resp, err := s3Client.ListObjects(&s3.ListObjectsInput{Bucket: aws.String(bucket)})
if err != nil {
    fmt.Printf("Unable to list items in bucket %q, %v", bucket, err)
}

for _, item := range resp.Contents {
    if strings.Contains(*item.Key, "/output.txt") {
        lastItem = *item
    }
}
s := fmt.Sprintf("https://s3.%s.amazonaws.com/%s/%s", region, bucket, *lastItem.Key)
fmt.Println(s)

Насколько я понимаю, как только корзина достигает более 1000 элементов, 1000-й элемент будет возвращаться каждый раз при запуске лямбды.

По умолчанию элементы корзины возвращаются самыми старыми в первую очередь.можно увидеть, что это список предметов по самым новым первым и остановка for после первого предмета.Возможно ли это?

Если нет, кто-нибудь еще решил подобную проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...