java - 从 AMAZON S3 中删除今天之前创建的所有文件

标签 java amazon-s3

我知道下面提供的代码用于从 AMAZON s3 存储桶中删除文件,但我的要求是从存储桶中删除今天日期之前创建的所有文件。这意味着,我想将今天的日期、bucketName 作为输入参数传递给函数,并且该函数应该从该存储桶中删除今天日期之前创建的所有文件。我如何实现这一点。

String Bucket_Name = "my_bucket";
String key = "Path/to/my/folder";   
ObjectListing objects = s3Client.listObjects(BUCKET_NAME, key);
    for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) 
        {
        s3Client.deleteObject(BUCKET_NAME, objectSummary.getKey());
        }

最佳答案

您可以将日期与对象上次修改的时间进行比较,这是您可以从 S3ObjectSummary 获取有关日期的唯一信息。 。

它作为对象元数据的一部分存储,如所解释的 here .

String Bucket_Name = "my_bucket";
String key = "Path/to/my/folder";
Date today = Calendar.getInstance().getTime();  
ObjectListing objects = s3Client.listObjects(BUCKET_NAME, key);
for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) 
{
    if(objectSummary.getLastModified().before(today))
       s3Client.deleteObject(BUCKET_NAME, objectSummary.getKey());
}

关于java - 从 AMAZON S3 中删除今天之前创建的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42366000/

相关文章:

java - 覆盖 S3 中的文件时保留元数据

amazon-web-services - 如何在AWS cli中使用aws区域获取S3端点?

amazon-s3 - S3 x-amz-meta- 区分大小写

java - 使用递归检查周围的单元格

java - 在 Java 网站上加载 Twitter 提要

java - Arrays.parallelSetAll() 的时间复杂度是多少?

java - Spring 安全。 protected 注释不起作用

java - 命令行参数有空格的问题

amazon-s3 - Amazon S3 是否支持符号链接(symbolic link)?

java - Play Framework 1.2.7 Heroku 更新崩溃