Using the object-storage
The Python SDK can be used to interface with Infrahub's object-storage.
Storing string objects to the object-storage
We can use the SDK to store string objects into the object-storage.
import json
from infrahub_sdk import InfrahubClientSync
client = InfrahubClientSync()
data = {
"key": "value",
"list": [
"item1",
"item2",
"item3",
]
}
response = client.object_store.upload(content=json.dumps(data))
print(response)
Retrieving objects from the object-storage
Retrieving objects from the object-storage can be done using the object's identifier. In this step we will be using the identifier that we got as a response to the previous step.
import json
from infrahub_sdk import InfrahubClientSync
client = InfrahubClientSync()
identifier = "17d19a20-70f6-3e44-3341-c5124065cda9"
response = client.object_store.get(identifier="17d19a20-70f6-3e44-3341-c5124065cda9")
print(json.loads(response))
Storing a file to the object-storage
You can store text files in the object-storage. We have to read the contents of the file into a string object, which we can then store in the object-storage.
import json
from pathlib import Path
from infrahub_sdk import InfrahubClientSync
data = {
"key": "value",
"list": [
"item1",
"item2",
"item3",
]
}
json_file = Path("/tmp/file.json")
json_file.write_text(json.dumps(data))
client = InfrahubClientSync()
identifier = "17d19a20-70f6-3e44-3341-c5124065cda9"
response = client.object_store.upload(content=json_file.read_text())
print(response)