ObjectStore#
- class composer.utils.ObjectStore[source]#
Abstract class for implementing object stores, such as LibcloudObjectStore and S3ObjectStore.
- download_object(object_name, filename, overwrite=False, callback=None)[source]#
Download an object to the specified destination path.
- Parameters
object_name (str) โ The name of the object to download.
filename (str | Path) โ Full path to a file or a directory where the incoming file will be saved.
overwrite (bool, optional) โ Whether to overwrite an existing file at
filename
, if it exists. (default:False
)callback ((int) -> None, optional) โ If specified, the callback is periodically called with the number of bytes already downloaded and the total size of the object.
- Raises
FileNotFoundError โ If the file was not found in the object store.
ObjectStoreTransientError โ If there was a transient connection issue with downloading the object.
- get_object_size(object_name)[source]#
Get the size of an object, in bytes.
- Parameters
object_name (str) โ The name of the object.
- Returns
int โ The object size, in bytes.
- Raises
FileNotFoundError โ If the file was not found in the object store.
ObjectStoreTransientError โ If there was a transient connection issue with getting the object size.
- get_uri(object_name)[source]#
Returns the URI for
object_name
.Note
This function does not check that
object_name
is in the object store. It computes the URI statically.- Parameters
object_name (str) โ The object name.
- Returns
str โ The URI for
object_name
in the object store.
- upload_object(object_name, filename, callback=None)[source]#
Upload an object currently located on a disk.
- Parameters
- Raises
ObjectStoreTransientError โ If there was a transient connection issue with uploading the object.