我正在尝试使用java sdk将文件上传到亚马逊S3存储中,从而使用objectMetadata启用该对象的显式到期日期。当我运行该程序时,它会上载到S3并按预期将对象元数据设置为过期日期,但最终似乎不会在过期日期之后将其删除。我不确定我在哪里做错了。下面是我用来设置对象元数据的代码段。
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, file);
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setHttpExpiresDate(new DateTime().plusDays(1).toDate());
putObjectRequest.setMetadata(objectMetadata);
return s3.putObject(putObjectRequest);
我一直在阅读一些Amazon文档https://docs.aws.amazon.com/AmazonS3/latest/dev/manage-lifecycle-using-java.html,其中说要设置BucketLifeCycle配置规则。我不确定是否要应用此规则,是将其应用于此存储桶下的所有文件夹和对象,还是仅应用到通过Java程序使用此规则上传的对象?
请提出建议,谢谢!!