fix: 告警列表500错误修复 + 摄像头查询容错 + COS认证重构
- 添加缺失的 import httpx(修复 _notify_ops_platform NameError) - 摄像头批量查询加 try/except 容错,失败时降级使用 device_id - 摄像头查询超时从 5 秒提升到 15 秒 - COS 存储重构:支持 CVM 角色认证 + 密钥认证双模式 - STS 接口改为返回提示(CVM 模式不支持 STS) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -16,15 +16,12 @@ class DatabaseConfig:
|
||||
|
||||
@dataclass
|
||||
class COSConfig:
|
||||
"""腾讯云 COS 存储配置"""
|
||||
secret_id: str = ""
|
||||
secret_key: str = ""
|
||||
"""腾讯云 COS 存储配置(通过 CVM 角色认证,无需密钥)"""
|
||||
region: str = "ap-beijing"
|
||||
bucket: str = "" # 格式: bucketname-appid
|
||||
upload_prefix: str = "alerts" # 对象 Key 前缀
|
||||
presign_expire: int = 1800 # 预签名URL有效期(秒),默认30分钟
|
||||
sts_expire: int = 1800 # STS 临时凭证有效期(秒)
|
||||
enabled: bool = False # 是否启用 COS(False 时使用本地存储)
|
||||
enabled: bool = False # 是否启用 COS
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -75,7 +72,7 @@ class CameraNameConfig:
|
||||
name_field_priority: list = None
|
||||
|
||||
# 查询超时(秒)
|
||||
query_timeout: int = 5
|
||||
query_timeout: int = 15
|
||||
|
||||
def __post_init__(self):
|
||||
if self.name_field_priority is None:
|
||||
@@ -103,13 +100,10 @@ def load_settings() -> Settings:
|
||||
url=os.getenv("DATABASE_URL", "sqlite:///./data/alert_platform.db"),
|
||||
),
|
||||
cos=COSConfig(
|
||||
secret_id=os.getenv("COS_SECRET_ID", ""),
|
||||
secret_key=os.getenv("COS_SECRET_KEY", ""),
|
||||
region=os.getenv("COS_REGION", "ap-beijing"),
|
||||
bucket=os.getenv("COS_BUCKET", ""),
|
||||
upload_prefix=os.getenv("COS_UPLOAD_PREFIX", "alerts"),
|
||||
presign_expire=int(os.getenv("COS_PRESIGN_EXPIRE", "1800")),
|
||||
sts_expire=int(os.getenv("COS_STS_EXPIRE", "1800")),
|
||||
enabled=os.getenv("COS_ENABLED", "false").lower() == "true",
|
||||
),
|
||||
app=AppConfig(
|
||||
@@ -133,7 +127,7 @@ def load_settings() -> Settings:
|
||||
camera_name=CameraNameConfig(
|
||||
wvp_api_base=os.getenv("WVP_API_BASE", "http://localhost:18080"),
|
||||
display_format=os.getenv("CAMERA_NAME_FORMAT", "{name}"),
|
||||
query_timeout=int(os.getenv("CAMERA_QUERY_TIMEOUT", "5")),
|
||||
query_timeout=int(os.getenv("CAMERA_QUERY_TIMEOUT", "15")),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user