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
- 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
- __init__(account_info: Optional[b2sdk.account_info.abstract.AbstractAccountInfo] = None, cache: Optional[b2sdk.cache.AbstractCache] = None, max_upload_workers: int = 10, max_copy_workers: int = 10, api_config: b2sdk.api_config.B2HttpApiConfig = <b2sdk.api_config.B2HttpApiConfig object>)[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 –
- property account_info
- authorize_account(realm, application_key_id, application_key)[source]
Perform account authorization.
- Parameters
realm (str) – a realm to authorize account in (usually just “production”)
application_key_id (str) – application key ID
application_key (str) – user’s application key
- 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
- 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 expirebucket_id – a bucket ID to restrict the key to, or
None
to not restrictname_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
- 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 progressrange – 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_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
- 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.
- 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
- Return type
- 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.
- property raw_api
Warning
B2RawHTTPApi
attribute is deprecated.B2Session
expose allB2RawHTTPApi
methods now.
- update_file_legal_hold(file_id: str, file_name: str, legal_hold: b2sdk.file_lock.LegalHold) b2sdk.file_lock.LegalHold [source]
- 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: Callable[[], requests.sessions.Session] = <class 'requests.sessions.Session'>, install_clock_skew_hook: bool = True, user_agent_append: Optional[str] = None, _raw_api_class: Optional[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