我想在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
进行阅读?
答案 0 :(得分:1)
您需要为此使用S3ObjectSummary
。 Here是它的文档。以下是示例代码(来自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。