我想在s3上为对象设置一个到期日期我创建了这样的对象:
$this->s3->putObject(array(
'Bucket' => BUCKET,
'Key'=> "path",
'SourceFile' => $fileTmp,
'Expires' => time()+2*60,
'ACL' => 'private'
));
但是当我在aws S3 Console上检查文件时,对象会保持:
Expiry Date: None
Expiration Rule: N/A
如何设置对象到期?
答案 0 :(得分:2)
像这样使用putBucketLifecycle
方法:
$result = $client->putBucketLifecycleConfiguration([
'Bucket' => '<string>', // REQUIRED
'LifecycleConfiguration' => [
'Rules' => [ // REQUIRED
[
'Expiration' => [
'Date' => <integer || string || DateTime>,
'Days' => <integer>,
'ExpiredObjectDeleteMarker' => true || false,
],
'ID' => '<string>',
'Prefix' => '<string>',
'Status' => 'Enabled|Disabled', // REQUIRED
],
// ...
],
],
]);
注意
getBucketLifecycleConfiguration
并合并上一个
新的规则。资源
答案 1 :(得分:0)
生命周期策略是按桶设置的,而不是按文件设置的。
以下是如何为存储桶设置生命周期策略: