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

Другие вопросы по тегам