我有一个可能有数百万个文件的S3存储桶。这些是由CloudTrail(CloudTrail日志)创建的文件。我想编写一个python脚本,它只下载那些在特定日期上传的文件。我已经有下载代码了 - 这不是问题。问题是如何专门下载在特定日期创建/上传的文件子集?
这似乎是一个非常简单的用例,我很惊讶S3 API不支持这一点。
答案 0 :(得分:1)
您可以使用S3对象的“上次修改日期”属性根据特定日期对其进行过滤。以下是使用Java API的示例:
ObjectListing listing = s3Client.listObjects('my_bucket_name');
List<S3ObjectSummary> objectSummaries = listing.getObjectSummaries();
for(S3ObjectSummary s3ObjectSummary: objectSummaries) {
if(s3ObjectSummary.getLastModified().equals(today) {
//download this file
s3Client.getObject('my_bucket_name', s3ObjectSummary.getKey());
}
}