S3 のイベント通知から Lambda を起動したり、SQS にメッセージを格納する際は、内部的なリトライにより重複が発生することがある
Amazon S3 は、組み込みのバックオフと再試行メカニズムを使用して、高い信頼性で通知を配信するように設計されています。まれに、再試行メカニズムによって同じオブジェクトイベントの通知が重複する場合があります。
なので、後ろで構えている処理が二度走っても問題ない = 冪等性のある設計にしておこうねというお話。
ちなみに、シーケンサーキーを確認することで、重複イベントを検知することができるっぽい。
Amazon S3 イベント通知は、 シーケンサーキーをを含む JSON オブジェクトとして配信されます。シーケンサーキーは、同じオブジェクトの PUT と DELETE のイベントシーケンスを識別するために使用できる 16 進値です。特定のオブジェクトイベントの重複イベント通知の値は、シーケンサーキーの値と同じです。