---
name: async-export
when: '异步导出, 数据导出, 批量导出, 报表导出, CSV, Excel, PDF, 下载, 文件导出, 导出功能'
scope:
  - backend
products:
  - '*'
id: ka-pattern-async-export
asset_kind: pattern
lifecycle_status: active
authority: supporting
routes:
  - '*'
primary_triggers:
  - 异步导出
  - 数据导出
  - 批量导出
  - 报表导出
  - CSV
  - Excel
  - PDF
  - 下载
  - 文件导出
  - 导出功能
priority: P2
specificity: 3
version: 1.0.0
last_reviewed: '2026-05-22'
consumes: []
emits: []
secondary_triggers: []
negative_triggers: []
type: pattern
status: active
---

## 决策规则
- 超过 1000 条数据必须走异步导出，返回任务 ID
- 异步导出任务必须有状态追踪（PENDING/PROCESSING/COMPLETED/FAILED）
- 导出文件必须存储在对象存储，禁止堆积在本地磁盘
- 导出文件必须设置过期时间（建议 24 小时），到期自动清理
- 导出文件必须包含表头行，字段名对齐业务术语
- 大数据量导出必须异步执行，通过 WebSocket/轮询通知完成状态
- 导出数据量必须有上限（如单次 ≤ 100 万行），超限提示用户缩小范围
- 导出过程必须有进度反馈（已完成 X/Y 条），提升用户体验
- 导出失败必须通知用户并提供重试机制

## 验收项
- [AC-01] 大数据量走异步导出返回任务 ID
- [AC-02] 任务有状态追踪
- [AC-03] 文件 24 小时内自动清理
- [AC-04] 导出文件含表头行
- [AC-05] 大导出异步执行并有通知
- [AC-06] 导出文件有过期清理
- [AC-07] 有进度反馈
