查看桶生命周期规则
生命周期管理可以通过设置规则实现自动清理过期的对象,优化存储空间。本文介绍如何查看桶(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 | 指定的桶不存在或者桶中没有配置生命周期管理信息。 |