如何从特定日期上载的S3存储桶下载所有文件?

时间:2016-08-14 22:09:24

标签: amazon-web-services amazon-s3

我有一个可能有数百万个文件的S3存储桶。这些是由CloudTrail(CloudTrail日志)创建的文件。我想编写一个python脚本,它只下载那些在特定日期上传的文件。我已经有下载代码了 - 这不是问题。问题是如何专门下载在特定日期创建/上传的文件子集?

这似乎是一个非常简单的用例,我很惊讶S3 API不支持这一点。

1 个答案:

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