OSDN Git Service

Create ossClient.go (#574)
[bytom/vapor.git] / vendor / github.com / aliyun / aliyun-oss-go-sdk / sample / delete_object.go
1 package sample
2
3 import (
4         "fmt"
5         "strings"
6
7         "github.com/aliyun/aliyun-oss-go-sdk/oss"
8 )
9
10 // DeleteObjectSample shows how to delete single file or multiple files
11 func DeleteObjectSample() {
12         // Create a bucket
13         bucket, err := GetTestBucket(bucketName)
14         if err != nil {
15                 HandleError(err)
16         }
17
18         var val = "抽刀断水水更流,举杯销愁愁更愁。 人生在世不称意,明朝散发弄扁舟。"
19
20         // Case 1: Delete an object
21         err = bucket.PutObject(objectKey, strings.NewReader(val))
22         if err != nil {
23                 HandleError(err)
24         }
25
26         err = bucket.DeleteObject(objectKey)
27         if err != nil {
28                 HandleError(err)
29         }
30
31         // Case 2: Delete multiple Objects
32         err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
33         if err != nil {
34                 HandleError(err)
35         }
36
37         err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
38         if err != nil {
39                 HandleError(err)
40         }
41
42         delRes, err := bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"})
43         if err != nil {
44                 HandleError(err)
45         }
46         fmt.Println("Del Res:", delRes)
47
48         lsRes, err := bucket.ListObjects()
49         if err != nil {
50                 HandleError(err)
51         }
52         fmt.Println("Objects:", getObjectsFormResponse(lsRes))
53
54         // Case 3: Delete multiple objects and it will return deleted objects in detail mode which is by default.
55         err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
56         if err != nil {
57                 HandleError(err)
58         }
59
60         err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
61         if err != nil {
62                 HandleError(err)
63         }
64
65         delRes, err = bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"},
66                 oss.DeleteObjectsQuiet(false))
67         if err != nil {
68                 HandleError(err)
69         }
70         fmt.Println("Detail Del Res:", delRes)
71
72         lsRes, err = bucket.ListObjects()
73         if err != nil {
74                 HandleError(err)
75         }
76         fmt.Println("Objects:", getObjectsFormResponse(lsRes))
77
78         // Case 4: Delete multiple objects and returns undeleted objects in quiet mode
79         err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
80         if err != nil {
81                 HandleError(err)
82         }
83
84         err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
85         if err != nil {
86                 HandleError(err)
87         }
88
89         delRes, err = bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"}, oss.DeleteObjectsQuiet(true))
90         if err != nil {
91                 HandleError(err)
92         }
93         fmt.Println("Sample Del Res:", delRes)
94
95         lsRes, err = bucket.ListObjects()
96         if err != nil {
97                 HandleError(err)
98         }
99         fmt.Println("Objects:", getObjectsFormResponse(lsRes))
100
101         // Delete object and bucket
102         err = DeleteTestBucketAndObject(bucketName)
103         if err != nil {
104                 HandleError(err)
105         }
106
107         fmt.Println("DeleteObjectSample completed")
108 }