イベントの違いについて調べてみたすべてのオブジェクト作成イベントをトリガーにするケースもあると思いますが、イベントの違いをちゃんと知りたかったんです。匠朗2020.07.03この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、岩城です。レプリケーションがあります。どちらも同期元バケットから同期先バケットにオブジェクトをコピーするものです。オブジェクトがコピーされたことをトリガーに何か別の処理を実行したいと考えることはよくあります。キューイングするケースを想定して話しを進めます。イベント通知は、どのイベントをトリガーとするか細かく設定することができます。どのようなイベントがあるか気になる方は公式ドキュメントを確認してください。レプリケーションはs3:ObjectCreated:Putでした。考えていたのでとても意外に感じました。レプリケーションの説明共に、実際に試した方法を記載していきます。ローカルディレクトリとバケット間やバケット同士を同期するコマンドです。今回はバケット間を同期してみます。レプリケーションは、バケット間でオブジェクトを非同期コピーする機能です。別アカウントでも別リージョンでもコピーすることができます。以下は、同一アカウント、同一リージョンで試してみた内容です。レプリケーションを有効化するバケット、レプリケーション先のバケットは共にバージョニングを有効化する必要があります。事前に有効化していなくても、レプリケーションを設定する最中に有効化できます。有効化するとソースの設定をします。今回の検証では拘りがないので、ソースバケットのすべてのコンテンツをレプリケーションの対象としました。レプリケート先のバケットを指定します。既存のロールがあれば指定します。今回は新しいロールを作成しました。マネジメントコンソールから操作すれば、指定した名前でロールを作成してくれます。確認して保存するとレプリケーションが有効化されます。レプリケーションが有効化された後に、ソースバケットに置いたファイルがレプリケート先のバケットにコピーされていることが分かります。ポイントは有効化された後に更新されたファイルがコピーされることです。ソースバケットに元々存在するファイルはコピーされませんので注意してください。イベントの違いを調べてみる前置きが長くなりました。レプリケーションで同期先バケットに作成されたオブジェクトのイベントの違いを見てみます。検証方法は以下のような感じです。イベント通知の内容は以下のような感じになります。レプリーケーションする手順は前述しているので省略します。メッセージがキューイングされます。先には何もなくキューイングされたまま残るので、簡単にメッセージの内容を確認することができます。以下メッセージ内容です。