Files
junhong_cmp_fiber/.scratch/ur36-bulk-package-purchase/issues/02-controlled-upload-object-ownership.md
2026-07-22 17:25:05 +09:00

1.8 KiB
Raw Blame History

02 — 交付受控直传与对象归属证明

What to build: 操作员可以为批量订购 CSV 和线下凭证申请受控上传地址并直传真实私有 S3业务接口随后能够证明对象由当前账号按声明用途申请、已经真实上传且元数据符合约束。上传授权可原子绑定业务任务已绑定 Key 不能被其他账号或其他批次复用。

Blocked by: None — can start immediately

Status: ready-for-agent

架构通道: 主通道为 Infrastructure辅助通道为简单写 Application。

完整业务边界: 本票收口预签名上传授权、对象 Head 元数据和业务绑定能力,并增加 bulk_purchase 受控用途。明确不解析 CSV、不创建批量任务、不改变其他对象存储消费者的业务语义、不实现内存 Provider。

  • bulk_purchase 用途只签发批量订购目录下的 .csv Key并限制为允许的 CSV Content-Type附件继续复用现有 attachment 用途和文件类型规则。
  • 上传授权稳定保存对象 Key、用途、申请账号、声明文件名、声明 Content-Type 和签发时间,不以目录前缀推断上传主体。
  • 存储 Provider 可以查询对象是否存在、实际大小和实际 Content-Type并以统一安全错误区分不存在、类型不符、过大和基础设施失败。
  • 授权绑定使用业务类型、业务 ID 和绑定时间形成持久事实;同一 Key 的并发绑定最终由数据库约束裁决。
  • 相同业务幂等重试可以识别原绑定,其他账号、其他用途或其他批次复用同一 Key 时明确冲突。
  • 真实 S3 集成测试覆盖预签名上传、Head、下载、精确删除、10MB 边界、伪造类型、对象不存在、跨账号、跨用途和重复绑定。