lambdaをマネージメントコンソールから操作して以下の契機で Configurations overlap. Configurations on the same bucket cannot share a common event type というエラーが発生してしまいました。
- lambdaファンクションは作成済み
- add event sourceにて一度、S3のnotificationを設定
- 設定後、lambdaのコンソール画面でS3のnotificationを削除
- 再度、同じファンクション、同じS3にnotificationを設定→エラー発生
解決方法
該当するS3のバケットの画面を表示し、Eventを確認するとlambdaのイベントが登録されているのでこれを削除すればOKです。
なぜ上記のようになるのか
lambdaのマネージメントコンソールでadd event sourceにてS3のnotificationの設定を行うと内部的には以下二つのAPIが呼ばれていると思われます(AWS CLIで操作するとそうしなければよいので)
- lambda functionに対して add permission APIの呼び出し
- S3バケットに対して指定したイベント時にlambda function を呼び出す put-bucket-notification APIの呼び出し
ただし、lambdaのマネージメントコンソール上で削除を行うと上記の「1」に該当する削除しか行われないため、そのまま再登録しようとするとS3のイベント設定が重複しているよということで別途S3のイベント削除する必要があります。