add get_size method for storage
This commit is contained in:
parent
2f8f33bc85
commit
fff6772a22
@ -42,6 +42,12 @@ class AzureStorageAdapter(object):
|
|||||||
blob_client = container_client.get_blob_client(object_name)
|
blob_client = container_client.get_blob_client(object_name)
|
||||||
return blob_client.exists()
|
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))
|
@retry(tries=3, delay=5, jitter=(1, 3))
|
||||||
def get_object(self, bucket_name, object_name):
|
def get_object(self, bucket_name, object_name):
|
||||||
logger.debug(f"Downloading '{object_name}'...")
|
logger.debug(f"Downloading '{object_name}'...")
|
||||||
|
|||||||
@ -54,9 +54,19 @@ class S3StorageAdapter(object):
|
|||||||
try:
|
try:
|
||||||
self._client.stat_object(bucket_name, object_name)
|
self._client.stat_object(bucket_name, object_name)
|
||||||
return True
|
return True
|
||||||
except Exception:
|
except Exception as err:
|
||||||
|
logger.warning(err)
|
||||||
return False
|
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))
|
@retry(tries=3, delay=5, jitter=(1, 3))
|
||||||
def get_object(self, bucket_name, object_name):
|
def get_object(self, bucket_name, object_name):
|
||||||
logger.debug(f"Downloading '{object_name}'...")
|
logger.debug(f"Downloading '{object_name}'...")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user