如何读取 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
阅读它?
为此您需要使用 S3ObjectSummary
。 Here 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
我想读取 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
阅读它?
为此您需要使用 S3ObjectSummary
。 Here 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
.