Поиск файлов в AWS S3 по LastModified - PullRequest
0 голосов
/ 23 апреля 2020

Я хочу искать файлы в AWS S3 на основе времени создания файла (или LastModified) в go. Я знаю то же самое в python с использованием boto3 paginator, который предоставляет опции для предоставления строки запроса, но я хочу добиться того же в go.

Любое предложение или любой пример в go -lang будет оценили?

Пример кода Я пытаюсь перечислить все файлы:

for s.NextContinuationToken != ""  { 

        maxFileRead := 15

        bucket := "XXX-XXX-test"

        // To check if previous result  was truncated
        if s.IsTruncated {
            fileList, err = s.session.ListObjectsV2(&s3.ListObjectsV2Input{
                Bucket:            aws.String(bucket),
                MaxKeys:           aws.Int64(maxFileRead),
                ContinuationToken: &s.NextContinuationToken,
            })
        } else {
            fileList, err = s.session.ListObjectsV2(&s3.ListObjectsV2Input{
                Bucket:      aws.String(bucket),
                MaxKeys:     aws.Int64(maxFileRead),
            })
        }

        s.IsTruncated = *fileList.IsTruncated

        if s.IsTruncated {
            s.NextContinuationToken = *fileList.NextContinuationToken
        } else {
            s.NextContinuationToken = ""
        }

        if err != nil {
            if aerr, ok := err.(awserr.Error); ok {
                switch aerr.Code() {
                case s3.ErrCodeNoSuchBucket:
                    fmt.Println(s3.ErrCodeNoSuchBucket, aerr.Error())
                default:
                    fmt.Println(aerr.Error())
                }
            } else {
                // Print the error, cast err to awserr.Error to get the Code and
                // Message from an error.
                fmt.Println(err.Error())
            }
    }
}

Теперь я хочу изменить поиск, чтобы он отображал только файлы списка, созданные после определенного времени.

1 Ответ

0 голосов
/ 30 апреля 2020
  1. Call ListObjectsV2 (https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#S3 .ListObjectsV2 ) для каждого сегмента.

  2. Возвращаемое свойство Contents представляет собой список метаданных о каждый объект корзины.

  3. Используйте поле LastModified.

...