Backblaze B2 Storage Driver Documentation¶
Backblaze is an online backup tool that allows Windows and Mac OS X users to back up their data to an offsite data center.
Backblaze B2 is their cloud object storage offering similar to Amazon S3 and other object storage services.
Instantiating a driver¶
To instantiate the driver you need to pass your key id and application key to the driver constructor as shown below.
To access the credentials, you can login to https://secure.backblaze.com/user_signin.htm, then click “App Keys” or go to https://secure.backblaze.com/app_keys.htm directly.
keyID
serves as the first and applicationKey
as the second argument to
the driver constructor.
from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver
key_id = "XXXXXX"
application_key = "YYYYYY"
cls = get_driver(Provider.BACKBLAZE_B2)
driver = cls(key_id, application_key)
API Docs¶
-
class
libcloud.storage.drivers.backblaze_b2.
BackblazeB2StorageDriver
(key, secret=None, secure=True, host=None, port=None, api_version=None, region=None, **kwargs)[source]¶ Parameters: - key (
str
) – API key or username to be used (required) - secret (
str
) – Secret password to be used (required) - secure (
bool
) – Whether to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default. - host (
str
) – Override hostname used for connections. - port (
int
) – Override port used for connections. - api_version (
str
) – Optional API version. Only used by drivers which support multiple API versions. - region (
str
) – Optional driver region. Only used by drivers which support multiple regions.
Return type: None
-
connectionCls
¶ alias of
BackblazeB2Connection
-
create_container
(container_name, ex_type='allPrivate')[source]¶ Create a new container.
Parameters: container_name ( str
) – Container name.Returns: Container instance on success. Return type: libcloud.storage.base.Container
-
delete_container
(container)[source]¶ Delete a container.
Parameters: container ( libcloud.storage.base.Container
) – Container instanceReturns: True
on success,False
otherwise.Return type: bool
-
delete_object
(obj)[source]¶ Delete an object.
Parameters: obj ( libcloud.storage.base.Object
) – Object instance.Returns: bool
True on success.Return type: bool
-
download_object
(obj, destination_path, overwrite_existing=False, delete_on_failure=True)[source]¶ Download an object to the specified destination path.
Parameters: - obj (
libcloud.storage.base.Object
) – Object instance. - destination_path (
str
) – Full path to a file or a directory where the incoming file will be saved. - overwrite_existing (
bool
) – True to overwrite an existing file, defaults to False. - delete_on_failure (
bool
) – True to delete a partially downloaded file if the download was not successful (hash mismatch / file size).
Returns: True if an object has been successfully downloaded, False otherwise.
Return type: bool
- obj (
-
download_object_as_stream
(obj, chunk_size=None)[source]¶ Return a iterator which yields object data.
Parameters: - obj (
libcloud.storage.base.Object
) – Object instance - chunk_size (
int
) – Optional chunk size (in bytes).
Return type: iterator
ofbytes
- obj (
-
download_object_range
(obj, destination_path, start_bytes, end_bytes=None, overwrite_existing=False, delete_on_failure=True)¶ Download part of an object.
Parameters: - obj (
libcloud.storage.base.Object
) – Object instance. - destination_path (
str
) – Full path to a file or a directory where the incoming file will be saved. - start_bytes (
int
) – Start byte offset (inclusive) for the range download. Offset is 0 index based so the first byte in file file is “0”. - end_bytes (
int
) – End byte offset (non-inclusive) for the range download. If not provided, it will default to the end of the file. - overwrite_existing (
bool
) – True to overwrite an existing file, defaults to False. - delete_on_failure (
bool
) – True to delete a partially downloaded file if the download was not successful (hash mismatch / file size).
Returns: True if an object has been successfully downloaded, False otherwise.
Return type: bool
- obj (
-
download_object_range_as_stream
(obj, start_bytes, end_bytes=None, chunk_size=None)¶ Return a iterator which yields range / part of the object data.
Parameters: - obj (
libcloud.storage.base.Object
) – Object instance - start_bytes (
int
) – Start byte offset (inclusive) for the range download. Offset is 0 index based so the first byte in file file is “0”. - end_bytes (
int
) – End byte offset (non-inclusive) for the range download. If not provided, it will default to the end of the file. - chunk_size (
int
) – Optional chunk size (in bytes).
Return type: iterator
ofbytes
- obj (
-
enable_container_cdn
(container)¶ Enable container CDN.
Parameters: container ( libcloud.storage.base.Container
) – Container instanceReturn type: bool
-
enable_object_cdn
(obj)¶ Enable object CDN.
Parameters: obj ( libcloud.storage.base.Object
) – Object instanceReturn type: bool
-
ex_get_upload_data
(container_id)[source]¶ Retrieve information used for uploading files (upload url, auth token, etc).
Rype: dict
-
get_container
(container_name)[source]¶ Return a container instance.
Parameters: container_name ( str
) – Container name.Returns: Container
instance.Return type: libcloud.storage.base.Container
-
get_container_cdn_url
(container)¶ Return a container CDN URL.
Parameters: container ( libcloud.storage.base.Container
) – Container instanceReturns: A CDN URL for this container. Return type: str
-
get_object
(container_name, object_name)[source]¶ Return an object instance.
Parameters: - container_name (
str
) – Container name. - object_name (
str
) – Object name.
Returns: Object
instance.Return type: - container_name (
-
get_object_cdn_url
(obj)¶ Return an object CDN URL.
Parameters: obj ( libcloud.storage.base.Object
) – Object instanceReturns: A CDN URL for this object. Return type: str
-
iterate_container_objects
(container, prefix=None, ex_prefix=None)[source]¶ Return a generator of objects for the given container.
Parameters: - container (
Container
) – Container instance - prefix (
str
) – Filter objects starting with a prefix. Filtering is performed client-side. - ex_prefix (
str
) – (Deprecated.) Filter objects starting with a prefix. Filtering is performed client-side.
Returns: A generator of Object instances.
Return type: generator
ofObject
- container (
-
iterate_containers
()[source]¶ Return a iterator of containers for the given account
Returns: A iterator of Container instances. Return type: iterator
oflibcloud.storage.base.Container
-
list_container_objects
(container, prefix=None, ex_prefix=None)¶ Return a list of objects for the given container.
Parameters: - container (
libcloud.storage.base.Container
) – Container instance. - prefix (
str
) – Filter objects starting with a prefix. - ex_prefix (
str
) – (Deprecated.) Filter objects starting with a prefix.
Returns: A list of Object instances.
Return type: list
oflibcloud.storage.base.Object
- container (
-
list_containers
()¶ Return a list of containers.
Returns: A list of Container instances. Return type: list
ofContainer
- key (