Edited at

S3+SNS+EmailもしくはSQSへ通知してみる


1.S3+SNS(Email)パターン

手順1.S3バケットを作成する。

手順2.SNSでトピックとサブスクリプションをEmailで作成する。

手順3.SNSでアクセスポリシーを設定する必要がある。(重要)

 宛先の SQS キューにアタッチする IAM ポリシーの例。

{

"Version": "2008-10-17",
"Id": "ID",
"Statement": [
{
"Sid": "SID",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": [
"SNS:Publish"
],
"Resource": "arn:aws:sns:ap-northeast-1:268546037544:naata-sns",
"Condition": {
"ArnLike": { "aws:SourceArn": "arn:aws:s3:::naata-s3-sqs" }
}
}
]
}

手順4.S3バケットでEventsを設定する。

image.png

手順5.S3へファイルをアップロードし、Emailに通知が来ているか確認する。


2.S3+SNS(SQS)パターン

手順1.S3バケットを作成する。

手順2.SNSでトピックを作成する。アクセスポリシーは先程と同じ。

手順3.SQSキューを作成し、SNSトピックへのサブスクライブする

image.png

手順4.SNSでサブスクリプションをSQSで作成し、SQSのエンドポイントを指定する。

image.png

手順4.S3へファイルをアップロードし、SQSキューでメッセージを表示してみましょう。