我编写了一个java代码,以获取AWS S3存储桶文件夹中的文件列表作为字符串列表.是否有任何直接函数可用于获取我们在s3存储桶中看到的文件的上次修改时间戳.
如果您想知道特定文件的最后修改时间戳而不列出整个目录,您可以使用 a GetObjectRequest,然后从中检索 ObjectMetadata。这是一个例子:
S3Object fullObject = s3Client.getObject(new GetObjectRequest(bucketName, remoteFilePath));
ObjectMetadata objectMetadata = fullObject.getObjectMetadata();
Date lastModified = objectMetadata.getLastModified();
Run Code Online (Sandbox Code Playgroud)
你可以得到lastModified一个java.util.Date通过S3ObjectSummary对象。
// ...
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
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用minio-java客户端库来实现同样的目的。它是开源的并且与AWS S3 API兼容。
使用ListBuckets API,您可以轻松实现它。
尝试 {
// 列出具有读取访问权限的存储桶。
列表bucketList = minioClient.listBuckets();
for (桶桶:桶列表){
System.out.println(bucket.creationDate() + ", " + bucket.name());
}
} catch (MinioException e) {
System.out.println("发生错误:" + e);
}
希望能帮助到你。
免责声明:我为Minio工作
| 归档时间: |
|
| 查看次数: |
9513 次 |
| 最近记录: |