1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
package sample
import (
"fmt"
"strings"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
// DeleteObjectSample 展示了删除单个文件、批量删除文件的方法
func DeleteObjectSample() {
// 创建Bucket
bucket, err := GetTestBucket(bucketName)
if err != nil {
HandleError(err)
}
var val = "抽刀断水水更流,举杯销愁愁更愁。 人生在世不称意,明朝散发弄扁舟。"
// 场景1:删除Object
err = bucket.PutObject(objectKey, strings.NewReader(val))
if err != nil {
HandleError(err)
}
err = bucket.DeleteObject(objectKey)
if err != nil {
HandleError(err)
}
// 场景2:删除多个Object
err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
if err != nil {
HandleError(err)
}
err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
if err != nil {
HandleError(err)
}
delRes, err := bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"})
if err != nil {
HandleError(err)
}
fmt.Println("Del Res:", delRes)
lsRes, err := bucket.ListObjects()
if err != nil {
HandleError(err)
}
fmt.Println("Objects:", getObjectsFormResponse(lsRes))
// 场景3:删除多个Object,详细模式时返回的结果中会包含成功删除的Object,默认该模式
err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
if err != nil {
HandleError(err)
}
err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
if err != nil {
HandleError(err)
}
delRes, err = bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"},
oss.DeleteObjectsQuiet(false))
if err != nil {
HandleError(err)
}
fmt.Println("Detail Del Res:", delRes)
lsRes, err = bucket.ListObjects()
if err != nil {
HandleError(err)
}
fmt.Println("Objects:", getObjectsFormResponse(lsRes))
// 场景4:删除多个Object,简单模式返回的消息体中只包含删除出错的Object结果
err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
if err != nil {
HandleError(err)
}
err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
if err != nil {
HandleError(err)
}
delRes, err = bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"}, oss.DeleteObjectsQuiet(true))
if err != nil {
HandleError(err)
}
fmt.Println("Sample Del Res:", delRes)
lsRes, err = bucket.ListObjects()
if err != nil {
HandleError(err)
}
fmt.Println("Objects:", getObjectsFormResponse(lsRes))
// 删除object和bucket
err = DeleteTestBucketAndObject(bucketName)
if err != nil {
HandleError(err)
}
fmt.Println("DeleteObjectSample completed")
}
|