/
doc.go
110 lines (83 loc) · 2.47 KB
/
doc.go
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
109
110
/*
Package objects contains functionality for working with Object Storage
object resources. An object is a resource that represents and contains data
- such as documents, images, and so on. You can also store custom metadata
with an object.
Note: When referencing the Object Storage API docs, some of the API actions
are listed under "containers" rather than "objects". This was an intentional
design in Gophercloud to make some object actions feel more natural.
Example to List Objects
containerName := "my_container"
listOpts := objects.ListOpts{
Full: true,
}
allPages, err := objects.List(objectStorageClient, containerName, listOpts).AllPages()
if err != nil {
panic(err)
}
allObjects, err := objects.ExtractInfo(allPages)
if err != nil {
panic(err)
}
for _, object := range allObjects {
fmt.Printf("%+v\n", object)
}
Example to List Object Names
containerName := "my_container"
listOpts := objects.ListOpts{
Full: false,
}
allPages, err := objects.List(objectStorageClient, containerName, listOpts).AllPages()
if err != nil {
panic(err)
}
allObjects, err := objects.ExtractNames(allPages)
if err != nil {
panic(err)
}
for _, object := range allObjects {
fmt.Printf("%+v\n", object)
}
Example to Create an Object
content := "some object content"
objectName := "my_object"
containerName := "my_container"
createOpts := objects.CreateOpts{
ContentType: "text/plain"
Content: strings.NewReader(content),
}
object, err := objects.Create(objectStorageClient, containerName, objectName, createOpts).Extract()
if err != nil {
panic(err)
}
Example to Copy an Object
objectName := "my_object"
containerName := "my_container"
copyOpts := objects.CopyOpts{
Destination: "/newContainer/newObject",
}
object, err := objects.Copy(objectStorageClient, containerName, objectName, copyOpts).Extract()
if err != nil {
panic(err)
}
Example to Delete an Object
objectName := "my_object"
containerName := "my_container"
object, err := objects.Delete(objectStorageClient, containerName, objectName).Extract()
if err != nil {
panic(err)
}
Example to Download an Object's Data
objectName := "my_object"
containerName := "my_container"
object := objects.Download(objectStorageClient, containerName, objectName, nil)
if object.Err != nil {
panic(object.Err)
}
// if "ExtractContent" method is not called, the HTTP connection will remain consumed
content, err := object.ExtractContent()
if err != nil {
panic(err)
}
*/
package objects