You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求职表单AWS S3文件存储与数据库条目保存一致性问题咨询

解决AWS S3文件存储与数据库一致性问题的方案

核心思路:原子化校验+兜底清理,覆盖所有异常场景

1. 预签名URL+数据库事务实现原子化流程

  • 后端生成S3预签名URL返回给前端,让前端直接将简历、头像传到S3,无需后端中转。
  • 前端上传成功后,把两个文件的S3路径传给后端,后端启动数据库事务:
    • 先校验手机号、邮箱的唯一性约束
    • 调用S3的headObject接口,确认两个文件已完整上传
    • 校验通过后,在事务中插入数据库条目
    • 若事务失败(如数据库报错),立即调用deleteObject删除S3上的两个文件

2. 状态标记+定时任务兜底

  • 给数据库求职申请表添加status字段,可选值设为pending(待确认)、completed(已完成)、invalid(无效)
  • 后端插入数据时先设为pending,确认数据库和S3操作都成功后,再将状态更新为completed
  • 编写定时任务(比如用AWS Lambda搭配CloudWatch定时触发),定期扫描pending状态且超时(如1小时)的条目:
    • 删除对应S3文件
    • 将数据库条目标记为invalid或直接删除

3. S3生命周期规则自动清理孤立文件

  • 给S3桶配置生命周期规则:
    • 上传时先将文件放到临时目录(如temp-applications/),数据库保存成功后,用copyObject将文件移至正式目录(如applications/),同时删除临时文件
    • 配置规则:自动删除temp-applications/下超过24小时的文件,即便后端未触发删除,S3也会自动清理孤立文件

内容的提问来源于stack exchange,提问作者Areeb Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 10:25:02