删除桶生命周期规则

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

  • DeleteBucketLifecycle

DeleteBucketLifecycle操作可以删除桶中的全部生命周期规则。

代码示例:

// 删除桶生命周期规则
func DeleteBucketLifeCycle(svc *s3.S3){
    deleteBucketLifecycleInput := &s3.DeleteBucketLifecycleInput{
        Bucket: aws.String("exampleBucket"),
    }

    _, err := svc.DeleteBucketLifecycle(deleteBucketLifecycleInput)
    if err != nil {
        fmt.Printf("fail to delete bucket lifecycle. %v\n", err)
    }
}

DeleteBucketLifecycleInput可设置的参数如下:

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

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

代码示例:

func DeleteBucketLifeCycleRequest(svc *s3.S3){
    deleteBucketLifecycleInput := &s3.DeleteBucketLifecycleInput{
        Bucket: aws.String("exampleBucket"),
    }

    req, resp := svc.DeleteBucketLifecycleRequest(deleteBucketLifecycleInput)

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

响应结果:

HTTP状态 响应码 描述
204 NoContent 操作成功。
403 AccessDenied 用户没有权限执行操作。
404 NoSuchKey 指定的桶不存在。