

# 使用针对目录存储桶的 S3 生命周期
<a name="directory-buckets-objects-lifecycle"></a>

 S3 生命周期通过代表您删除已过期对象，助力您以更具成本效益的方式在目录存储桶中的 S3 Express One Zone 内存储对象。要管理对象的生命周期，请为目录存储桶创建 S3 生命周期配置。S3 生命周期配置 是一组规则，用于定义 Amazon S3 对一组对象应用的操作。您可以使用 AWS 命令行界面（AWS CLI）、AWS SDK、Amazon S3 REST API 和 AWS CloudFormation，在目录存储桶上设置 Amazon S3 生命周期配置。

在生命周期配置中，您可以使用规则来定义希望 Amazon S3 在对象上执行的操作。对于存储在目录存储桶中的对象，您可以创建生命周期规则，以便随着对象存在时间的增长而使其过期。您还可以创建生命周期规则，以每天一次的频率删除目录存储桶中未完成的分段上传。

当您向存储桶添加生命周期配置时，配置规则将应用到现有对象以及您在以后添加的对象。例如，如果您在今天添加带有过期操作的生命周期配置规则，而该规则使带有特定前缀的对象在创建 30 天后过期，S3 会将任何超过 30 天且具有指定前缀的现有对象加入移除队列。

## 目录存储桶的 S3 生命周期有何不同
<a name="directory-bucket-lifecycle-differences"></a>

对于目录存储桶中的对象，您可以创建生命周期规则，使对象过期并删除未完成的分段上传。但是，目录存储桶的 S3 生命周期不支持存储类之间的转换操作。

**CreateSession**

生命周期使用公共 `DeleteObject` 和 `DeleteObjects` API 操作来使目录存储桶中的对象过期。要使用这些 API 操作，S3 生命周期将使用 `CreateSession` API 建立临时安全凭证，以访问目录存储桶中的对象。有关更多信息，请参阅[《Amazon S3 API Reference》**中的 `CreateSession`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)。

如果您具有拒绝向生命周期主体授予删除权限的有效策略，这将阻止您允许 S3 生命周期代表您删除对象。

### 使用存储桶策略向 S3 生命周期服务主体授予权限
<a name="lifecycle-directory-bucket-policy"></a>

以下存储桶策略向 S3 生命周期服务主体授予创建会话以执行 `DeleteObject` 和 `DeleteObjects` 等操作的权限。如果未在 `CreateSession` 请求中指定会话模式，则会使用权限（先尝试 `ReadWrite`，如果不允许 `ReadWrite`，则再尝试 `ReadOnly`）所支持的最大权限创建会话。但是，对于修改或删除对象的生命周期操作，`ReadOnly` 会话是不够的。因此，此示例使用 `s3express:SessionMode` 条件键明确要求使用 `ReadWrite` 会话模式。

**Example – 存储桶策略，支持使用显式 `ReadWrite` 会话模式进行 `CreateSession` 调用以执行生命周期操作**  

```
 { 
   "Version":"2008-10-17",		 	 	  
   "Statement":[
      {
         "Effect":"Allow",
         "Principal": {
            "Service":"lifecycle.s3.amazonaws.com"
          },
          "Action":"s3express:CreateSession", 
          "Condition": { 
             "StringEquals": {
                "s3express:SessionMode": "ReadWrite"
              }
           }, 
           "Resource":"arn:aws:s3express:us-east-2:412345678921:bucket/amzn-s3-demo-bucket--use2-az2--x-s3"
       }
   ] 
}
```

### 监控生命周期规则
<a name="lifecycle-directory-bucket-monitoring"></a>

对于存储在目录存储桶中的对象，S3 生命周期会生成 AWS CloudTrail 管理和数据事件日志。有关更多信息，请参阅 [S3 Express One Zone 的 CloudTrail 日志文件示例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-log-files.html)。

有关创建生命周期配置以及排查 S3 生命周期相关问题的更多信息，请参阅以下主题：

**Topics**