B2 Api client

class b2sdk.v2.B2Api[source]
SESSION_CLASS

alias of b2sdk.v2.session.B2Session

BUCKET_CLASS

alias of b2sdk.v2.bucket.Bucket

BUCKET_FACTORY_CLASS

alias of b2sdk.v2.bucket.BucketFactory

SERVICES_CLASS

alias of b2sdk.v2.api.Services

__init__(*args, **kwargs)[source]

Initialize the API using the given account info.

Parameters
  • account_info – To learn more about Account Info objects, see here SqliteAccountInfo

  • cache – It is used by B2Api to cache the mapping between bucket name and bucket ids. default is DummyCache

  • max_upload_workers – a number of upload threads

  • max_copy_workers – a number of copy threads

  • api_config

  • max_download_workers – maximum number of download threads

  • save_to_buffer_size – buffer size to use when writing files using DownloadedFile.save_to

  • check_download_hash – whether to check hash of downloaded files. Can be disabled for files with internal checksums, for example, or to forcefully retrieve objects with corrupted payload or hash value

get_bucket_by_id(bucket_id: str) b2sdk.bucket.Bucket[source]

Return the Bucket matching the given bucket_id. :raises b2sdk.v2.exception.BucketIdNotFound: if the bucket does not exist in the account

DEFAULT_LIST_KEY_COUNT = 1000
DOWNLOAD_VERSION_FACTORY_CLASS

alias of b2sdk.file_version.DownloadVersionFactory

FILE_VERSION_FACTORY_CLASS

alias of b2sdk.file_version.FileVersionFactory

property account_info
authorize_account(realm, application_key_id, application_key)[source]

Perform account authorization.

Parameters
authorize_automatically()[source]

Perform automatic account authorization, retrieving all account data from account info object passed during initialization.

property cache
cancel_large_file(file_id: str) b2sdk.file_version.FileIdAndName[source]

Cancel a large file upload.

check_bucket_id_restrictions(bucket_id: str)[source]

Check to see if the allowed field from authorize-account has a bucket restriction.

If it does, checks if the bucket_id for a given api call matches that. If not, it raises a b2sdk.v2.exception.RestrictedBucket error.

Raises

b2sdk.v2.exception.RestrictedBucket – if the account is not allowed to use this bucket

check_bucket_name_restrictions(bucket_name: str)[source]

Check to see if the allowed field from authorize-account has a bucket restriction.

If it does, checks if the bucket_name for a given api call matches that. If not, it raises a b2sdk.v2.exception.RestrictedBucket error.

Raises

b2sdk.v2.exception.RestrictedBucket – if the account is not allowed to use this bucket

create_bucket(name, bucket_type, bucket_info=None, cors_rules=None, lifecycle_rules=None, default_server_side_encryption: Optional[b2sdk.encryption.setting.EncryptionSetting] = None, is_file_lock_enabled: Optional[bool] = None)[source]

Create a bucket.

Parameters
  • name (str) – bucket name

  • bucket_type (str) – a bucket type, could be one of the following values: "allPublic", "allPrivate"

  • bucket_info (dict) – additional bucket info to store with the bucket

  • cors_rules (dict) – bucket CORS rules to store with the bucket

  • lifecycle_rules (dict) – bucket lifecycle rules to store with the bucket

  • default_server_side_encryption (b2sdk.v2.EncryptionSetting) – default server side encryption settings (None if unknown)

  • is_file_lock_enabled (bool) – boolean value specifies whether bucket is File Lock-enabled

Returns

a Bucket object

Return type

b2sdk.v2.Bucket

create_key(capabilities: List[str], key_name: str, valid_duration_seconds: Optional[int] = None, bucket_id: Optional[str] = None, name_prefix: Optional[str] = None)[source]

Create a new application key.

Parameters
  • capabilities – a list of capabilities

  • key_name – a name of a key

  • valid_duration_seconds – key auto-expire time after it is created, in seconds, or None to not expire

  • bucket_id – a bucket ID to restrict the key to, or None to not restrict

  • name_prefix – a remote filename prefix to restrict the key to or None to not restrict

delete_bucket(bucket)[source]

Delete a chosen bucket.

Parameters

bucket (b2sdk.v2.Bucket) – a bucket to delete

Return type

None

delete_file_version(file_id: str, file_name: str) b2sdk.file_version.FileIdAndName[source]

Permanently and irrevocably delete one version of a file.

delete_key(application_key: b2sdk.application_key.BaseApplicationKey)[source]

Delete application key.

Parameters

application_key – an application key

delete_key_by_id(application_key_id: str)[source]

Delete application key.

Parameters

application_key_id – an application key ID

download_file_by_id(file_id: str, progress_listener: Optional[b2sdk.progress.AbstractProgressListener] = None, range_: Optional[Tuple[int, int]] = None, encryption: Optional[b2sdk.encryption.setting.EncryptionSetting] = None) b2sdk.transfer.inbound.downloaded_file.DownloadedFile[source]

Download a file with the given ID.

Parameters
  • file_id (str) – a file ID

  • progress_listener – a progress listener object to use, or None to not track progress

  • range – a list of two integers, the first one is a start position, and the second one is the end position in the file

  • encryption – encryption settings (None if unknown)

get_account_id()[source]

Return the account ID.

Return type

str

get_bucket_by_name(bucket_name)[source]

Return the Bucket matching the given bucket_name.

Parameters

bucket_name (str) – the name of the bucket to return

Returns

a Bucket object

Return type

b2sdk.v2.Bucket

Raises

b2sdk.v2.exception.NonExistentBucket – if the bucket does not exist in the account

get_download_url_for_file_name(bucket_name, file_name)[source]

Return a URL to download the given file by name.

Parameters
  • bucket_name (str) – a bucket name

  • file_name (str) – a file name

get_download_url_for_fileid(file_id)[source]

Return a URL to download the given file by ID.

Parameters

file_id (str) – a file ID

get_file_info(file_id: str) b2sdk.file_version.FileVersion[source]

Gets info about file version.

Parameters

file_id (str) – the id of the file who’s info will be retrieved.

list_buckets(bucket_name=None, bucket_id=None)[source]

Call b2_list_buckets and return a list of buckets.

When no bucket name nor ID is specified, returns all of the buckets in the account. When a bucket name or ID is given, returns just that bucket. When authorized with an application key restricted to one bucket, you must specify the bucket name or bucket id, or the request will be unauthorized.

Parameters
  • bucket_name (str) – the name of the one bucket to return

  • bucket_id (str) – the ID of the one bucket to return

Return type

list[b2sdk.v2.Bucket]

list_keys(start_application_key_id: Optional[str] = None) Generator[b2sdk.application_key.ApplicationKey, None, None][source]

List application keys. Lazily perform requests to B2 cloud and return all keys.

Parameters

start_application_key_id – an application key ID to start from or None to start from the beginning

list_parts(file_id, start_part_number=None, batch_size=None)[source]

Generator that yields a b2sdk.v2.Part for each of the parts that have been uploaded.

Parameters
  • file_id (str) – the ID of the large file that is not finished

  • start_part_number (int) – the first part number to return; defaults to the first part

  • batch_size (int) – the number of parts to fetch at a time from the server

Return type

generator

property raw_api

Warning

B2RawHTTPApi attribute is deprecated. B2Session expose all B2RawHTTPApi methods now.

update_file_retention(file_id: str, file_name: str, file_retention: b2sdk.file_lock.FileRetentionSetting, bypass_governance: bool = False) b2sdk.file_lock.FileRetentionSetting[source]
class b2sdk.v2.B2HttpApiConfig[source]
DEFAULT_RAW_API_CLASS

alias of b2sdk.raw_api.B2RawHTTPApi

__init__(http_session_factory: typing.Callable[[], requests.sessions.Session] = <class 'requests.sessions.Session'>, install_clock_skew_hook: bool = True, user_agent_append: typing.Optional[str] = None, _raw_api_class: typing.Optional[typing.Type[b2sdk.raw_api.AbstractRawApi]] = None)[source]

A structure with params to be passed to low level API.

Parameters
  • http_session_factory – a callable that returns a requests.Session object (or a compatible one)

  • install_clock_skew_hook – if True, install a clock skew hook

  • user_agent_append – if provided, the string will be appended to the User-Agent

  • _raw_api_class – AbstractRawApi-compliant class