Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 S3 java SDK-将到期时间设置为对象_Amazon S3_Aws Sdk - Fatal编程技术网

Amazon s3 S3 java SDK-将到期时间设置为对象

Amazon s3 S3 java SDK-将到期时间设置为对象,amazon-s3,aws-sdk,Amazon S3,Aws Sdk,我正在尝试将一个文件上载到S3,并使用JavaSDK为其设置过期日期 这是我得到的代码: Instant expiration = Instant.now().plus(3, ChronoUnit.DAYS); ObjectMetadata metadata = new ObjectMetadata(); metadata.setExpirationTime(Date.from(expiration)); metada

我正在尝试将一个文件上载到S3,并使用JavaSDK为其设置过期日期

这是我得到的代码:

   Instant expiration = Instant.now().plus(3, ChronoUnit.DAYS);
            ObjectMetadata metadata = new ObjectMetadata();
            metadata.setExpirationTime(Date.from(expiration));
            metadata.setHeader("Expires", Date.from(expiration));
            s3Client.putObject(bucketName, keyName, new FileInputStream(file), metadata);
在S3控制台中,对象上没有过期数据

我能做什么

问候,,
我想这是两件不相关的事情。控制台中显示的过期时间为
x-amz-expiration
,由系统、生命周期策略填充。它是只读的

x-amz-expiration

如果将对象的过期操作配置为bucket生命周期配置的一部分,AmazonS3将返回此标头。标头值包括“到期日期”组件和URL编码的“规则id”组件

Expires
是在对象上设置时,在下载对象时在响应中返回的头

过期

对象不再能够缓存的日期和时间。有关更多信息,请访问


无法告诉S3特定对象何时过期(删除)——这只是bucket生命周期策略的一部分,如《用户指南》下所述。

不允许为单个对象设置过期日期,应为bucket()设置生命周期规则