Как прочитать дату последнего изменения в файле на S3
Я хочу прочитать дату последнего изменения или создания в файле 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 ответ
Решение
Вам нужно использовать 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
,