Files
banban/talkingq-url/handlers/audio_file_handler.py

20 lines
725 B
Python

from banban.service.message_audio_storage import MessageAudioStorageService
from utils.logger import session_logger
message_audio_storage_service = MessageAudioStorageService()
async def save_audio_file(audio_data: bytes, device_id: str) -> str:
"""Upload device audio to COS and return its object key."""
try:
stored = await message_audio_storage_service.upload_audio(
device_id=device_id,
content=audio_data,
)
session_logger.info(device_id, "audio", f"audio uploaded to COS: {stored.file_key}")
return stored.file_key
except Exception as e:
session_logger.error(device_id, "audio", f"failed to store audio: {e}", exc_info=True)
raise