add get_size method for storage

This commit is contained in:
Julius Unverfehrt 2023-01-13 08:29:09 +01:00
parent 2f8f33bc85
commit fff6772a22
2 changed files with 17 additions and 1 deletions

View File

@ -42,6 +42,12 @@ class AzureStorageAdapter(object):
blob_client = container_client.get_blob_client(object_name)
return blob_client.exists()
def get_size(self, bucket_name, object_name) -> int:
"""Get object size in bytes."""
container_client = self.__provide_container_client(bucket_name)
blob_client = container_client.get_blob_client(object_name)
return blob_client.get_blob_properties().size
@retry(tries=3, delay=5, jitter=(1, 3))
def get_object(self, bucket_name, object_name):
logger.debug(f"Downloading '{object_name}'...")

View File

@ -54,9 +54,19 @@ class S3StorageAdapter(object):
try:
self._client.stat_object(bucket_name, object_name)
return True
except Exception:
except Exception as err:
logger.warning(err)
return False
def get_size(self, bucket_name, object_name) -> int:
"""Get object size in bytes."""
try:
stats = self._client.stat_object(bucket_name, object_name)
return stats.size
except Exception as err:
logger.warning(err)
return 0
@retry(tries=3, delay=5, jitter=(1, 3))
def get_object(self, bucket_name, object_name):
logger.debug(f"Downloading '{object_name}'...")