删除桶
注意
删除桶之前,必须先删除桶内的所有文件的版本、标记和分片上传产生的碎片。 如果该桶下还有未完成的上传请求,则需要通过 listUploads 和 abortMultipartUpload 取消请求后才能删除桶。
以下代码为删除桶示例:
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
"os"
)
func exitErrorf(msg string, args ...interface{}) {
fmt.Fprintf(os.Stderr, msg+"\n", args...)
os.Exit(1)
}
func main() {
sess, err := session.NewSession(&aws.Config{
Region: aws.String("Region"),
Endpoint: aws.String("your-endpoint"),
Credentials: credentials.NewStaticCredentials("your-access-key", "your-secret-access-key", ""),
})
svc := s3.New(sess)
params := &s3.DeleteBucketInput{
Bucket: aws.String("your-bucket-name"),
}
_, err = svc.DeleteBucket(params)
if err != nil {
exitErrorf("Unable to delete bucket %q, %v", *params.Bucket, err)
}
// Wait until bucket is created before finishing
fmt.Printf("Delete bucket %q ", *params.Bucket)
}
注意
删除桶之前,必须先删除桶内的所有文件的版本、标记和分片上传产生的碎片。如果该桶下还有未完成的上传请求,则需要通过 listUploads 和 abortMultipartUpload 取消请求后才能删除桶。