我正在设置一个代码,该代码可以帮助我获取S3存储桶的列表,并且可以基于通用前缀来获取对象列表。由于S3存储桶中没有大量对象,但是我想根据通用前缀获取特定对象的最后修改日期将是理想的
例如:S3存储桶名称为
在该存储桶中有2个对象
在这2个对象中,存在更多文件列表,但是我只想获取这2个对象的last_modified日期
我正在使用python / boto来使用它,但是我正在获取上次修改日期为所有文件的列表
import boto
s3conn = boto.connect_s3()
bucket = "bucket-for-code"
members = s3conn.get_bucket(bucket)
items = members.list()
for item in items:
res = s3conn.make_request("HEAD",bucket,item.name)
h = res.getheader('Last-Modified','unknown')
print item.name + " - " + h
我也尝试过使用Java sdk nd编写下面的代码,但是结果相似,我正在获取存储桶中所有s3对象的列表:
ObjectListing objects = conn.listObjects(bucket.getName());
do {
for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) {
System.out.println(objectSummary.getKey() + "\t" +
objectSummary.getSize() + "\t" +
StringUtils.fromDate(objectSummary.getLastModified()));
}
objects = conn.listNextBatchOfObjects(objects);
} while (objects.isTruncated());
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
}
我希望输出基于对象是特定的