-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpoc-object-storage-test.py
71 lines (52 loc) · 1.7 KB
/
poc-object-storage-test.py
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
import object_storage
import time
parser = argparse.ArgumentParser()
parser.add_argument("--objectStorageAccount", default="")
parser.add_argument("--username", default="")
parser.add_argument("--apiKey", default="")
parser.add_argument("--datacenter", default="dal05")
args = parser.parse_args()
username = args.objectStorageAccount + ":" + args.username
apiKey = args.apiKey
sl_storage = object_storage.get_client(username= username, password=apiKey, datacenter=datacenter)
names = ['testContainer99']
#Create containers in array at root level
def createContainers():
for name in names:
sl_storage[name].create()
#Get all top level containers
def getContainers():
containers = sl_storage.containers()
#List containers at root level
print ("containers:")
for container in containers:
properties = container.properties
print ("\tname: " + properties['name'])
#Create items in the containers
def createItems():
for name in names:
#Create files
sl_storage[name]["sample1.txt"].create()
print ("Created sample1.txt")
sl_storage[name]["sample2.txt"].create()
print ("Created sample2.txt")
#Place content in the files
sl_storage[name]['sample1.txt'].send('this is a test')
sl_storage[name]['sample2.txt'].send('this is a test')
#Delete containers created in this example
def deleteContainers():
for name in names:
files = sl_storage[name].objects()
#Must empty container before deleting
for file in files:
properties = file.properties
sl_storage[name][properties['name']].delete()
print ("Deleted " + properties['name'])
#remove container
sl_storage[name].delete()
print ("Deleted " + name)
getContainers()
createContainers()
getContainers()
createItems()
deleteContainers()