我编写了一个java代码,以获取AWS S3存储区文件夹中的文件列表作为字符串列表。是否有任何直接函数可用于获取我们在s3存储桶中看到的文件的上次修改时间戳。
答案 0 :(得分:4)
您可以通过S3ObjectSummary对象获取lastModified
java.util.Date
。
// ...
ListObjectsV2Request listObjectsV2Request = new ListObjectsV2Request()
.withBucketName("my-bucket")
.withMaxKeys(1000);
ListObjectsV2Result result = s3client.listObjectsV2(listObjectsV2Request);
for (S3ObjectSummary objectSummary : result.getObjectSummaries()) {
// objectSummary.getLastModified() as java.util.Date
}
答案 1 :(得分:1)
s3例(列出一个桶的内容)发现于:
答案 2 :(得分:1)
您也可以使用minio-java客户端库。它的开源并与AWS S3 API兼容。
使用ListBuckets API,您可以轻松实现它。
try { // List buckets that have read access. List bucketList = minioClient.listBuckets(); for (Bucket bucket : bucketList) { System.out.println(bucket.creationDate() + ", " + bucket.name()); } } catch (MinioException e) { System.out.println("Error occured: " + e); }
希望它有所帮助。
免责声明:我为Minio
工作答案 3 :(得分:1)
如果您想知道特定文件的最后修改时间戳而不列出整个目录,可以使用GetObjectRequest
,然后从中检索ObjectMetadata。这是一个示例:
S3Object fullObject = s3Client.getObject(new GetObjectRequest(bucketName, remoteFilePath));
ObjectMetadata objectMetadata = fullObject.getObjectMetadata();
Date lastModified = objectMetadata.getLastModified();