Back to skills
SKILL.md
Artifacts
ASecurityファイル本体をオブジェクトストレージに保存し、保存先の参照情報をキューへ登録する非同期取込方式を採用する。ワーカーはキューから保存先を取得し、オブジェクトストレージ上のファイルを読み込んで解析し、解析結果をDBへ保存する。
- 50 stars
- 0 votes
- 0 copies
- 0 views
- Added November 7, 2026
Works with
Security analysis
100/100Pro scans all 21 files and shows the line behind each finding
npx -y skills add iwasa-kosui/tanteki --skill artifacts --agent claude-codeAre you the author of Artifacts?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/iwasa-kosui-artifacts-68822ddc)# ファイル取込 Design Doc
## 1. 概要
ファイル本体をオブジェクトストレージに保存し、保存先の参照情報をキューへ登録する非同期取込方式を採用する。ワーカーはキューから保存先を取得し、オブジェクトストレージ上のファイルを読み込んで解析し、解析結果をDBへ保存する。
## 2. 背景と制約
- ファイル本体をキューに載せる方式は採用しない。
- 10MBのファイルに対して、キューのサイズ上限が1MBであるため、ファイル本体を登録できない。
- 非同期化により、利用者が解析結果を確認できるまでの時間は従来より遅くなる。
## 3. 処理フロー
### API
1. APIが利用者からファイルを受け取る。
2. ファイルをオブジェクトストレージへ保存する。
3. 保存に成功した場合、保存先を識別できる情報をキューへ登録する。
4. 受付完了を利用者へ返す。
### ワーカー
1. キューから保存先情報を受け取る。
2. 保存先からファイルを読み込む。
3. ファイルを解析する。
4. 解析結果をDBへ保存する。
## 4. エラー処理
### オブジェクトストレージへの保存失敗
- APIは503を返す。
- キューへの登録は行わない。
- 保存が失敗したファイルについて、ワーカーによる処理は発生しない。
### キューへの登録失敗
回復方法は未決定である。実装時は、失敗時の状態を追跡できるようにし、リトライ、再登録、孤立したオブジェクトの扱いなどを別途決定する必要がある。決定前に独自の回復仕様を実装しない。
## 5. API実装上の方針
- ファイル本体はキューに登録せず、オブジェクトストレージ上の保存先情報のみを登録する。
- オブジェクトストレージへの保存が成功したことを確認してから、キューへの登録を行う。
- 保存失敗時は503を返し、キュー登録処理を実行しない。
- 非同期処理であること、および解析結果の提示に時間がかかることを利用者へ伝えられるよう、受付状態と結果取得方法は実装時に整理する。
## 6. データ連携
キューに登録するデータには、少なくともワーカーが対象ファイルを一意に取得できる保存先情報を含める。具体的なメッセージ形式、受付ID、再処理用の識別子は実装時に決定する。
## 7. 未決事項
- キューへの登録失敗時の回復方法
- キュー登録失敗後に残るオブジェクトストレージ上のファイルの扱い
- キューのメッセージ形式と保存先情報の表現
- 受付状態および解析結果の参照方法
- ワーカーでの解析失敗時の再試行・エラー管理
- 解析完了を利用者へ通知する方法Files in this skill
- adr-boundary.1.with_skill.md
- adr-boundary.1.without_skill.md
- adr-boundary.2.with_skill.md
- adr-boundary.2.without_skill.md
- canonical-reference.1.with_skill.md
- canonical-reference.1.without_skill.md
- canonical-reference.2.with_skill.md
- canonical-reference.2.without_skill.md
- comparison-rfc.1.with_skill.md
- comparison-rfc.1.without_skill.md
- comparison-rfc.2.with_skill.md
- comparison-rfc.2.without_skill.md
- design-tradeoff.1.with_skill.md
- design-tradeoff.1.without_skill.md
- design-tradeoff.2.with_skill.md
- design-tradeoff.2.without_skill.md
- incident-record.1.with_skill.md
- incident-record.1.without_skill.md
- incident-record.2.with_skill.md
- incident-record.2.without_skill.md
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.