Skip to content
大纲

PutBucketLifecycle

接口描述

本接口用来创建生命周期管理规则。

注意:

  • 只有bucket的owner且拥有FULL_CONTROL权限才能够进行此请求。
  • PutBucketLifecycle会覆盖原有的生命周期规则, 如果需要在原有规则基础上新增, 需要在请求中携带所有新旧规则。

请求(Request)

请求语法

PUT /<BucketName>?lifecycle HTTP/1.1
Host: fos.flymeyun.com
x-fos-date: date
Content-Length: request-body length
Content-Type: application/json; charset=utf-8
{
   "rule": [{
   "id": "rule-id",
   "status": "enabled",
   "resource": [
       "bucket/prefix/*"
   ],
   "condition": {
       "time": {
           "dateGreaterThan": "2016-09-07T00:00:00Z"
       }
   },
   "action": {
       "name": "DeleteObject"
   }
  }]
}

请求头域

无特殊参数

请求参数

规则项描述是否必须备注
rule规则的列表所有规则的列表
+id规则的标识符。同一个bucket内规则id必须唯一,不能重复。如果用户不填系统会自动帮用户生成一个。
+status规则的状态。取值为enabled或disabled,当规则处于disabled时规则不生效。
+resource规则对哪些资源生效。举例:对samplebucket里以prefix/为前缀的Object生效:samplebucket/prefix/;对samplebucket里所有Object生效:samplebucket/
+condition规则依赖的条件。目前只支持time形式
+time时间限制条件。通过定义的dateGreaterThan实现。
++dateGreaterThan描述时间关系。支持绝对时间date和相对时间days。绝对时间date格式为yyyy-mm-ddThh:mm:ssZ,eg. 2016-09-07T00:00:00Z。绝对时间为UTC时间, 必须以00:00:00(UTC 0点)结尾;相对时间days的描述遵循ISO8601, 支持的最小时间粒度为天,如: $(lastModified)+P7D表示的时间为object的last-modified之后7天。
action对resource执行的操作动作。-
+name执行的操作名称。取值为DeleteObject、AbortMultipartUpload。

响应(Response)

响应元素

  • 无特殊元素

响应头域

  • 无特殊头域

基础生命周期管理请求示例

请求示例

PUT /bucket?lifecycle HTTP/1.1
Host: fos.flymeyun.com
x-fos-date: 2016-08-16T08:23:49Z
Content-Length :1324
Content-Type: application/json; charset=utf-8

{
    "rule": [
        {
            "id": "sample-rule-delete-prefix",
            "status": "enabled",
            "resource": [
                "bucket/prefix/*"
            ],
            "condition": {
                "time": {
                    "dateGreaterThan": "2016-09-07T00:00:00Z"
                }
            },
            "action": {
                "name": "DeleteObject"
            }
        },
        {
            "id": "sample-rule-abort-multiupload-prefix",
            "status": "enabled",
            "resource": [
                "bucket/prefix/*"
            ],
            "condition": {
                "time": {
                    "dateGreaterThan": "$(lastModified)+P7D"
                }
            },
            "action": {
                "name": "AbortMultipartUpload"
            }
        }
    ]
}

响应示例

HTTP/1.1 200 OK
x-fos-request-id: 0A49CE4060975EAC
Date: Wed, 12 Oct 2016 17:50:00 GMT
Content-Length: 0
Connection: keep-alive