如何读取 S3 文件中的最后修改日期

How to read Last Modified Date in a file on 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 阅读它?

为此您需要使用 S3ObjectSummaryHere is the documentation for it. Below is the sample code (from here):

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 结果 = s3client.listObjectsV2(listObjectsV2Request);

Here's ListObjectsV2Request.

的 javadoc