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

Cod*_*dex 8 java amazon-s3

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

gil*_*des 6

如果您想知道特定文件的最后修改时间戳而不列出整个目录,您可以使用 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)


H6.*_*H6. 5

你可以得到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)


koo*_*d17 0

您也可以使用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工作