AWS SNS トピックからメッセージが発行されたときに、サブスクライバー(Lambda 関数など)にどのようなイベントデータが配信されるかの例です。
基本的なメッセージの構造
Lambda 関数で受け取る場合
SNS トピックに対して Lambda 関数をサブスクライブしておくと、Lambda 関数の第一引数 (event) で、次のようなオブジェクトを受信できます。
重要な情報は、Records[0].Sns
の下に格納されています。
メールで受け取る場合
SNS トピックに「JSON 形式のメール」をサブスクライブしておくと、SNS のメッセージが発行されたときに、次のような内容のメールが届きます。
Lambda 関数の第一引数で渡される event
オブジェクトで表現すると、event.Records[0].Sns
に相当する部分の情報がメールで送られてきます。
具体的な SNS メッセージの例
下記の例では、Records[0].Sns
以下の情報のみを示しています(JSON 形式のメールで送られる内容です)。
SNS のマネージメントコンソールからメッセージ発行したとき
件名に Message Title
、本文に Message Body
を設定してメッセージ発行したときに送られるイベントデータの例です。
S3 の PutObject イベントを SNS から通知したとき
S3 バケットに対して sample.txt
をアップロードしたときの SNS 通知の例です。
Message
プロパティの中に JSON 形式の情報が格納されていて、この中身を見ると、アップロードされたファイルの名前(S3 オブジェクトのキー)などが分かります。
関連記事