我在使用 AWS SDK 将 FileInputStream 上传到 S3 存储桶时设置了 30 分钟的到期时间,但 30 分钟后该文件没有被删除。我什至在第二天凌晨 12:00 尝试过,认为队列可能在晚上刷新,但仍然可以通过 url 访问文件。我什至尝试在隐身模式下确保没有返回缓存。我无法更改存储桶配置,并且没有为存储桶上的到期定义生命周期。我可以设置到期的最短时间是多少,为什么是 30 分钟不工作。
ObjectMetadata data = new ObjectMetadata();
data.setCacheControl("no-cache");
data.setExpirationTime(Date.from(Instant.now().plus(30, ChronoUnit.MINUTES)));
PutObjectRequest r = new PutObjectRequest(bucket, file, fileInputStream,
data);
awsSdkClient.putObject(r);