delete_object#
Improve the delete_object API.
- s3pathlib.better_client.delete_object.delete_object(s3_client: S3Client, bucket: str, key: str, version_id: str = Sentinel('NOTHING'), mfa: str = Sentinel('NOTHING'), request_payer: str = Sentinel('NOTHING'), bypass_governance_retention: bool = Sentinel('NOTHING'), expected_bucket_owner: str = Sentinel('NOTHING'), ignore_not_found: bool = False) DeleteObjectOutputTypeDef | None [source]#
Wrapper of delete_object.
- Parameters:
s3_client –
boto3.session.Session().client("s3")
object.bucket – See delete_object.
key – See delete_object.
version_id – See delete_object.
mfa – See delete_object.
request_payer – See delete_object.
bypass_governance_retention – See delete_object.
expected_bucket_owner – See delete_object.
ignore_not_found – Default is
False
; ifTrue
, silently return 0 if the object does not exist.
- Returns:
See delete_object.
- s3pathlib.better_client.delete_object.delete_dir(s3_client, bucket: str, prefix: str, batch_size: int = 1000, limit: int = Sentinel('NOTHING'), mfa: str = Sentinel('NOTHING'), request_payer: str = Sentinel('NOTHING'), bypass_governance_retention: bool = Sentinel('NOTHING'), expected_bucket_owner: str = Sentinel('NOTHING'), check_sum_algorithm: str = Sentinel('NOTHING'), skip_prompt: bool = False) int [source]#
Recursively delete all objects under a s3 prefix. It is a wrapper of delete_objects. Include the hard folder itself.
- Parameters:
s3_client –
boto3.session.Session().client("s3")
object.bucket – S3 bucket name.
prefix – The s3 prefix (logic directory) you want to delete, it has to be a directory (end with “/”).
batch_size – Number of s3 object to delete per micro-batch, valid value is from 1 ~ 1000. large number can reduce IO.
limit – Total Number of s3 object to delete.
mfa – See delete_object.
request_payer – See delete_object.
bypass_governance_retention – See delete_object.
expected_bucket_owner – See delete_object.
check_sum_algorithm – See delete_object.
skip_prompt – Default False, it will prompt you to confirm when deleting everything in an S3 bucket.
- Returns:
number of deleted objects
New in version 2.0.1.
- s3pathlib.better_client.delete_object.delete_object_versions(s3_client: S3Client, bucket: str, prefix: str, batch_size: int = 1000, limit: int = Sentinel('NOTHING'), mfa: str = Sentinel('NOTHING'), request_payer: str = Sentinel('NOTHING'), bypass_governance_retention: bool = Sentinel('NOTHING'), expected_bucket_owner: str = Sentinel('NOTHING'), check_sum_algorithm: str = Sentinel('NOTHING'), skip_prompt: bool = False) int [source]#
Recursively delete all objects and their versions under a s3 prefix. It is a wrapper of delete_objects. It will delete all historical versions and hard folder permanently.
- Parameters:
s3_client –
boto3.session.Session().client("s3")
object.bucket – S3 bucket name.
prefix – The s3 prefix (logic directory) you want to delete, it has to be a directory (end with “/”).
batch_size – Number of s3 object to delete per micro-batch, valid value is from 1 ~ 1000. large number can reduce IO.
limit – Total Number of s3 object to delete.
mfa – See delete_object.
request_payer – See delete_object.
bypass_governance_retention – See delete_object.
expected_bucket_owner – See delete_object.
check_sum_algorithm – See delete_object.
skip_prompt – Default False, it will prompt you to confirm when deleting everything in an S3 bucket.
- Returns:
number of deleted objects
New in version 2.0.1.