AWS S3:获取上次修改时间戳Java

时间:2016-03-22 11:24:12

标签: java amazon-s3

我编写了一个java代码,以获取AWS S3存储区文件夹中的文件列表作为字符串列表。是否有任何直接函数可用于获取我们在s3存储桶中看到的文件的上次修改时间戳。

4 个答案:

答案 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例(列出一个桶的内容)发现于:

http://docs.ceph.com/docs/master/radosgw/s3/java/

答案 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();