in alibabacloud_oss_v2/client.py [0:0]
def is_object_exist(self, bucket: str, key: str,
version_id: Optional[str] = None,
request_payer: Optional[str] = None,
**kwargs) -> bool:
"""Checks if the object exists
Args:
bucket (str, required): The name of the bucket.
key (str, required): The name of the object.
version_id (str, optional): The version ID of the source object.
request_payer (str, optional): To indicate that the requester is aware that the request and data download will incur costs.
Returns:
bool: True if the object exists, else False.
"""
result = None
err = None
try:
result = self.get_object_meta(models.GetObjectMetaRequest(
bucket=bucket,
key=key,
version_id=version_id,
request_payer=request_payer,
**kwargs
))
except exceptions.OperationError as e:
err = e
se = e.unwrap()
if isinstance(se, exceptions.ServiceError):
if ('NoSuchKey' == se.code or
(404 == se.status_code and 'BadErrorResponse' == se.code)):
return False
if err is not None:
raise err
return result is not None