"""对象存储批量删除(尽力而为,不打断主流程)。""" 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("{}: COS 删除失败 key={} err={}", log_prefix, key, e)