Files
life-echo/api/app/core/storage_purge.py
2026-03-20 15:15:35 +08:00

29 lines
732 B
Python

"""对象存储批量删除(尽力而为,不打断主流程)。"""
from collections.abc import Iterable
from app.core.logging import get_logger
from app.ports.storage import ObjectStorage
logger = get_logger(__name__)
def delete_object_storage_keys_best_effort(
storage: ObjectStorage | None,
keys: Iterable[str],
*,
log_prefix: str,
) -> None:
if storage is None:
return
seen: set[str] = set()
for raw in keys:
key = (raw or "").strip()
if not key or key in seen:
continue
seen.add(key)
try:
storage.delete(key)
except Exception as e:
logger.warning("%s: COS 删除失败 key=%s err=%s", log_prefix, key, e)