OSS支持设置Bucket生命周期(Lifecycle)规则,自动删除过期的文件(Object)和碎片,或将到期的文件转储为低频或归档存储类型,从而节省存储费用。本文介绍如何管理存储空间(Bucket)的生命周期规则。
注意事项
- 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
- 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见新建OssClient。
-
要设置生命周期规则,您必须具有
oss:PutBucketLifecycle
权限;要查看生命周期规则,您必须具有oss:GetBucketLifecycle
权限;要清空生命周期规则,您必须具有oss:DeleteBucketLifecycle
权限。具体操作,请参见为RAM用户授权自定义的权限策略。
背景信息
每条生命周期规则包含以下内容:
-
生命周期规则ID。用于标识一条规则,同一存储空间内规则ID不能重复。
-
生命周期策略。有以下两种设置方式。同一存储空间内仅支持一种设置方式。
-
按前缀匹配。此种方式允许创建多条规则,前缀不能重复。
-
配置到整个存储空间。此种方式只能创建一条规则。
-
-
指定文件过期时间。有两种指定方式:
-
指定一个过期天数N,文件会在其最近更新时间点的N天后过期。
-
指定一个过期时间点,最近更新时间在该时间点之前的文件全部过期。
-
-
生命周期规则是否生效。
通过uploadPart方法上传的分片也支持设置生命周期规则。文件最后修改时间以初始化分片上传事件的时间为准。
设置生命周期规则
以下代码用于设置生命周期规则:
addRule($lifecycleRule);
$actions = array();
// 指定日期之前创建的文件过期。
$actions[] = new LifecycleAction(OssClient::OSS_LIFECYCLE_EXPIRATION, OssClient::OSS_LIFECYCLE_TIMING_DATE, '2022-10-12T00:00:00.000Z');
$lifecycleRule = new LifecycleRule($ruleId1, $matchPrefix1, "Enabled", $actions);
$lifecycleConfig->addRule($lifecycleRule);
try {
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->putBucketLifecycle($bucket, $lifecycleConfig);
} catch (OssException $e) {
printf(__FUNCTION__ . ": FAILED
");
printf($e->getMessage() . "
");
return;
}
print(__FUNCTION__ . ": OK" . "
");
查看生命周期规则
以下代码用于查看生命周期规则:
getBucketLifecycle($bucket);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED
");
printf($e->getMessage() . "
");
return;
}
print(__FUNCTION__ . ": OK" . "
");
print($lifecycleConfig->serializeToXml() . "
");
清空生命周期规则
以下代码用于清空生命周期规则:
deleteBucketLifecycle($bucket);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED
");
printf($e->getMessage() . "
");
return;
}
print(__FUNCTION__ . ": OK" . "
");
相关文档
-
关于生命周期的完整示例代码,请参见GitHub示例。
-
关于设置生命周期规则的API接口说明,请参见PutBucketLifecycle。
-
关于查看生命周期规则的API接口说明,请参见GetBucketLifecycle。
-
关于清空生命周期规则的API接口说明,请参见DeleteBucketLifecycle。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/158304.html