github.com/qiniu/go-sdk/v7@v7.27.0/examples/rs_batch_delete/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/qiniu/go-sdk/v7/auth" 8 "github.com/qiniu/go-sdk/v7/storage" 9 ) 10 11 var ( 12 accessKey = os.Getenv("QINIU_ACCESS_KEY") 13 secretKey = os.Getenv("QINIU_SECRET_KEY") 14 bucket = os.Getenv("QINIU_TEST_BUCKET") 15 ) 16 17 func main() { 18 mac := auth.New(accessKey, secretKey) 19 20 cfg := storage.Config{ 21 // 是否使用https域名进行资源管理 22 UseHTTPS: false, 23 } 24 // 指定空间所在的区域,如果不指定将自动探测 25 // 如果没有特殊需求,默认不需要指定 26 // cfg.Zone=&storage.ZoneHuabei 27 bucketManager := storage.NewBucketManager(mac, &cfg) 28 29 // 每个batch的操作数量不可以超过1000个,如果总数量超过1000,需要分批发送 30 keys := []string{ 31 "github1.png", 32 "github2.png", 33 "github3.png", 34 "github4.png", 35 "github5.png", 36 } 37 deleteOps := make([]string, 0, len(keys)) 38 for _, key := range keys { 39 deleteOps = append(deleteOps, storage.URIDelete(bucket, key)) 40 } 41 rets, err := bucketManager.Batch(deleteOps) 42 if err != nil { 43 // 遇到错误 44 if _, ok := err.(*storage.ErrorInfo); ok { 45 for _, ret := range rets { 46 // 200 为成功 47 fmt.Printf("%d\n", ret.Code) 48 if ret.Code != 200 { 49 fmt.Printf("%s\n", ret.Data.Error) 50 } 51 } 52 } else { 53 fmt.Printf("batch error, %s", err) 54 } 55 } else { 56 // 完全成功 57 for _, ret := range rets { 58 // 200 为成功 59 fmt.Printf("%d\n", ret.Code) 60 } 61 } 62 }