3.1標準
ワークフローがタイムアウト後に再試行される可能性がある。
同じ日付の集計結果を一度だけ有効にし、再実行を安全にしたい。
最も適切な自動化方法はどれか。
× 不正解
実行ID・処理日・入力バージョンをキーにし、ステージングから原子的に置換するなど再試行を冪等化する。
詳細解説
正しい処理日とパーティションをキーにした置換・MERGEを実装する
同じ入力を再実行しても同じ結果へ収束し、重複行を防げる。
同じ入力を再実行しても同じ結果へ収束し、重複行を防げる。
誤り毎回INSERTで追記する
再試行のたびに重複行が増え、集計値が変わる。
再試行のたびに重複行が増え、集計値が変わる。
誤り成功レスポンスを常にキャッシュする
実際に出力がコミットされたかを保証せず、タイムアウト時に不整合が残る。
実際に出力がコミットされたかを保証せず、タイムアウト時に不整合が残る。
誤り失敗時はエラーを無視する
欠損や重複を隠し、下流の品質を損なう。
欠損や重複を隠し、下流の品質を損なう。
実際に確かめる
一時的な検証環境で実行できる例です。
AWS Step Functions retry、Amazon Redshift MERGE、idempotencyの公式説明を確認する。期待される結果
タイムアウト後の二重実行を考慮した出力設計を説明できる。理解のポイント
- 冪等性
- MERGE
- 自然キー
- ステージング
確認時の注意
- 確認環境: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- AWS公式DEA-C01 Domain 3・Task 3.1と各サービスの公式ドキュメントを確認する。
基礎のおさらい
Exactly-onceの扱い
分散処理では実行が一度に見えても再配信され得るため、出力側で重複を吸収する。
コミット境界
ステージング・検証・公開の順にし、部分出力を利用者へ見せない。
問題IDAWS-DEA-193
確認環境AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
最終技術確認2026-08-20
誤り・権利侵害を報告