Как прочитать дату последнего изменения в файле на S3 - PullRequest
0 голосов
/ 30 января 2019

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

я использовал эту кодировку для извлечения файла s3

S3Object s3ProfileObject = s3Client.getObject(new GetObjectRequest(srcBucket, fullProfilePath));

InputStream profileData = s3ProfileObject.getObjectContent();

SONObject rawProfileObject = (JSONObject)jsonParser.parse( new InputStreamReader(profileData, "UTF-8"));

можно ли прочитать его, используя s3ProfileObject?

1 Ответ

0 голосов
/ 30 января 2019

Для этого нужно использовать S3ObjectSummary. Здесь - документация для него.Ниже приведен пример кода (от здесь ):

final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
ListObjectsV2Result result = s3.listObjectsV2(bucket_name);
List<S3ObjectSummary> objects = result.getObjectSummaries();
for (S3ObjectSummary os: objects) {
    System.out.println("* " + os.getKey());
}

С S3ObjectSummary, вы можете сделать еще один запрос и получить S3Object.

Если вы хотитечтобы включить определенный файл или файлы с определенным префиксом, вы можете использовать объект `` с методом withPrefix вместе с запросом, например:

ListObjectsV2Request listObjectsV2Request = new ListObjectsV2Request()
    .withBucketName("test-bucket")
    .withPrefix("file-prefix");

ListObjectsV2Result result = s3client.listObjectsV2 (listObjectsV2Request);

Вот Javadoc для ListObjectsV2Request.

...