查看桶生命周期规则

生命周期管理可以通过设置规则实现自动清理过期的对象,优化存储空间。本文介绍如何查看桶(Bucket)的生命周期规则。

生命周期管理可以通过设置规则实现自动清理过期的对象,优化存储空间。

  • GetBucketLifecycleConfiguration

GetBucketLifecycleConfiguration操作可以查看桶当前的生命周期规则。

代码示例:

// 获取桶生命周期规则
func GetBucketLifecycleConfiguration(svc *s3.S3) {
    getBucketLifecycleConfigurationInput := &s3.GetBucketLifecycleConfigurationInput{
        Bucket: aws.String("exampleBucket"),
    }
    getBucketLifecycleConfigurationOutput, err := svc.GetBucketLifecycleConfiguration(getBucketLifecycleConfigurationInput)
    if err != nil {
        fmt.Printf("fail to get bucket lifecycle. %v\n", err)
        return
    }
    fmt.Println(getBucketLifecycleConfigurationOutput)
}

GetBucketLifecycleConfigurationInput可设置的参数如下:

参数 类型 说明 是否必要
Bucket *string bucket的名称。

GetBucketLifecycleConfigurationOutput返回的属性如下:

属性名 类型 说明
Rules []*LifecycleRule 一个描述生命周期管理的规则数组,一条规则包含了规则ID、匹配的对象key前缀、匹配的对象标签信息、当前版本对象过期时间、历史版本对象过期时间和是否生效标识等信息。
  • GetBucketLifecycleConfigurationRequest

GetBucketLifecycleConfigurationRequest操作首先生成一个"request.Request"对象,该对象是一个执行GetBucketLifecycleConfiguration操作的请求。通过调用Request对象的Send方法完成获取桶当前生命周期规则的操作。该方法可以生成定制化的请求,例如自定义请求头部请求超时重试设置。

代码示例:

func GetBucketLifecycleConfigurationRequest(svc *s3.S3) {
    getBucketLifecycleConfigurationInput := &s3.GetBucketLifecycleConfigurationInput{
        Bucket: aws.String("exampleBucket"),
    }
    req, resp := svc.GetBucketLifecycleConfigurationRequest(getBucketLifecycleConfigurationInput)

    err := req.Send()
    if err != nil {
        fmt.Printf("fail to put bucket policy. %v\n", err)
    } else {
        fmt.Println(resp)
    }
}

响应结果:

HTTP状态 响应码 描述
200 Success 操作成功。
403 AccessDenied 用户没有权限执行操作。
404 NoSuchLifecycleConfiguration 指定的桶不存在或者桶中没有配置生命周期管理信息。