Pluggability of Cloud Storage
Integration
BaseStorageClass
Method/Property
Description
Required/Optional
Implementation
BUCKET_TYPE=your_cloud
from storage.base import BaseStorageClass
class YourBucketClass(BaseStorageClass):
def __init__(self):
your_client = # instantiate your client
super().__init__(your_client)
def upload_to_storage(self, file_name: str, object_name: Optional[str] = None) -> bool:
# code to upload file to your cloud storage
return True
def generate_public_url(self, object_name: str) -> Union[tuple[str, None], tuple[None, str]]:
try:
public_url = # you code to fetch public url of the uploaded file
return public_url, None
except Exception as e:
logger.error(f"Exception Preparing public URL: {e}", exc_info=True)
return None, "Error while generating public URL"Last updated