エラーハンドリング
エラーレスポンス形式
全エラーは以下の JSON 形式で返す。
400 Bad Request
リクエストのパースまたはバリデーションに失敗した場合に返す。S3 への書き込みは一切行わない。
| 原因 | 条件 |
|---|---|
log_id 未指定 |
フィールドが空または欠落 |
generated_at 未指定 |
フィールドが空または欠落 |
generated_at 形式不正 |
整数(Unix タイムスタンプ)としてパースできない値 |
prompt 未指定 |
フィールドが空または欠落 |
image 未指定 |
image フィールドが存在しない |
500 Internal Server Error
S3 への書き込みに失敗した場合に返す。
| 原因 | 条件 |
|---|---|
prompt.json 保存失敗 |
S3 PutObject がエラーを返した |
image.jpg 保存失敗 |
S3 PutObject がエラーを返した |
設計上の注意点
- S3 への書き込みは
prompt.json→image.jpgの順に逐次実行する。prompt.jsonの書き込みに失敗した時点で処理を中断し、image.jpgの書き込みは行わない。 - リトライは行わない。S3 エラーは即座に 500 を返す。
generated_atは Unix タイムスタンプ(エポック秒の整数)で受け取り、UTC に変換して S3 パスの日付部分({yyyy}/{mm}/{dd})に使用する。