详情页标题前

阿里云对象存储OSSPHP生命周期-云淘科技

详情页1

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

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。