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.

../../_images/backblaze.png

Keep in mind that the service is currently in public beta and only users who have signed up and received beta access can use it. To sign up for the beta access, visit their website mentioned above.

Instantiating a driver

To instantiate the driver you need to pass your account id and application key to the driver constructor as shown below.

To access the account id, once we have admitted you into the beta you can login to https://secure.backblaze.com/user_signin.htm, then click “buckets” and “show account id and application key”.

from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver

account_id = 'XXXXXX'
application_key = 'YYYYYY'

cls = get_driver(Provider.BACKBLAZE_B2)
driver = cls(account_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

enable_container_cdn(container)

Enable container CDN.

Parameters:container (Container) – Container instance
Return type:bool
enable_object_cdn(obj)

Enable object CDN.

Parameters:obj (Object) – Object instance
Return type:bool
ex_get_upload_data(container_id)[source]

Retrieve information used for uploading files (upload url, auth token, etc).

Rype:dict
ex_get_upload_url(container_id)[source]

Retrieve URL used for file uploads.

Return type:str
get_container_cdn_url(container)

Return a container CDN URL.

Parameters:container (Container) – Container instance
Returns:A CDN URL for this container.
Return type:str
get_object_cdn_url(obj)

Return an object CDN URL.

Parameters:obj (Object) – Object instance
Returns:A CDN URL for this object.
Return type:str
list_container_objects(container)

Return a list of objects for the given container.

Parameters:container (Container) – Container instance.
Returns:A list of Object instances.
Return type:list of Object
list_containers()

Return a list of containers.

Returns:A list of Container instances.
Return type:list of Container
list_regions()

Method which returns a list of the available / supported regions.

Return type:list of str
upload_object(file_path, container, object_name, extra=None, verify_hash=True, headers=None)[source]

Upload an object.

Note: This will override file with a same name if it already exists.

upload_object_via_stream(iterator, container, object_name, extra=None, headers=None)[source]

Upload an object.

Note: Backblaze does not yet support uploading via stream, so this calls upload_object internally requiring the object data to be loaded into memory at once