임시 객체
추측할 수 없는 temporary key로 bytes를 저장한다.
object storage와 데이터베이스가 하나의 transaction이 아니므로 중간 상태를 공개하지 않고 실패 상태와 cleanup을 수명주기에 포함한다.
추측할 수 없는 temporary key로 bytes를 저장한다.
checksum·media type·악성 검사를 수행한다.
immutable key와 검증된 metadata로 download를 허용한다.
실패 이유를 기록하고 공개 key를 만들지 않는다.
재시도 가능한 정리 작업으로 orphan을 제거한다.
핵심: DB row와 object가 잠시 어긋날 수 있음을 상태 기계로 드러내야 안전한 재시도와 정리가 가능하다.