refactor: introduce storage factory and speed up api startup by importing storage client on demand (#9086)
This commit is contained in:
@@ -7,8 +7,8 @@ from flask import Flask
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class AliyunStorage(BaseStorage):
|
||||
"""Implementation for aliyun storage."""
|
||||
class AliyunOssStorage(BaseStorage):
|
||||
"""Implementation for Aliyun OSS storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -9,8 +9,8 @@ from flask import Flask
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class S3Storage(BaseStorage):
|
||||
"""Implementation for s3 storage."""
|
||||
class AwsS3Storage(BaseStorage):
|
||||
"""Implementation for Amazon Web Services S3 storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -8,8 +8,8 @@ from extensions.ext_redis import redis_client
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class AzureStorage(BaseStorage):
|
||||
"""Implementation for azure storage."""
|
||||
class AzureBlobStorage(BaseStorage):
|
||||
"""Implementation for Azure Blob storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -10,8 +10,8 @@ from flask import Flask
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class BaiduStorage(BaseStorage):
|
||||
"""Implementation for baidu obs storage."""
|
||||
class BaiduObsStorage(BaseStorage):
|
||||
"""Implementation for Baidu OBS storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -10,8 +10,8 @@ from google.cloud import storage as google_cloud_storage
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class GoogleStorage(BaseStorage):
|
||||
"""Implementation for google storage."""
|
||||
class GoogleCloudStorage(BaseStorage):
|
||||
"""Implementation for Google Cloud storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -6,8 +6,8 @@ from obs import ObsClient
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class HuaweiStorage(BaseStorage):
|
||||
"""Implementation for huawei obs storage."""
|
||||
class HuaweiObsStorage(BaseStorage):
|
||||
"""Implementation for Huawei OBS storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -8,8 +8,8 @@ from flask import Flask
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class LocalStorage(BaseStorage):
|
||||
"""Implementation for local storage."""
|
||||
class LocalFsStorage(BaseStorage):
|
||||
"""Implementation for local filesystem storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -8,7 +8,9 @@ from flask import Flask
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class OCIStorage(BaseStorage):
|
||||
class OracleOCIStorage(BaseStorage):
|
||||
"""Implementation for Oracle OCI storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
||||
app_config = self.app.config
|
14
api/extensions/storage/storage_type.py
Normal file
14
api/extensions/storage/storage_type.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class StorageType(str, Enum):
|
||||
ALIYUN_OSS = "aliyun-oss"
|
||||
AZURE_BLOB = "azure-blob"
|
||||
BAIDU_OBS = "baidu-obs"
|
||||
GOOGLE_STORAGE = "google-storage"
|
||||
HUAWEI_OBS = "huawei-obs"
|
||||
LOCAL = "local"
|
||||
OCI_STORAGE = "oci-storage"
|
||||
S3 = "s3"
|
||||
TENCENT_COS = "tencent-cos"
|
||||
VOLCENGINE_TOS = "volcengine-tos"
|
@@ -6,8 +6,8 @@ from qcloud_cos import CosConfig, CosS3Client
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class TencentStorage(BaseStorage):
|
||||
"""Implementation for tencent cos storage."""
|
||||
class TencentCosStorage(BaseStorage):
|
||||
"""Implementation for Tencent Cloud COS storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
||||
super().__init__(app)
|
@@ -6,7 +6,7 @@ from flask import Flask
|
||||
from extensions.storage.base_storage import BaseStorage
|
||||
|
||||
|
||||
class VolcengineStorage(BaseStorage):
|
||||
class VolcengineTosStorage(BaseStorage):
|
||||
"""Implementation for Volcengine TOS storage."""
|
||||
|
||||
def __init__(self, app: Flask):
|
Reference in New Issue
Block a user