ヤマムギ

growing hard days.

*

SendGridのイベントをAPI Gateway -> Lambda(Python) -> DynamoDBに格納する

   

SendGridのメールイベントログはコンソールで確認出来るのは直近7日分で一括ダウンロードとかもないので、SendGridでメールを送信し始める前にはEvent Webhookを設定してどこかにイベントログを蓄積しておいた方がいいと思います。

後々に開封率やメール内URLとかのクリック率とか受信数とか出さないといけなくなったときにデータがない、とかになってしまうので。

※最低限の設定例です。

Amazon DynamoDB

  • 任意の名前のテーブル(ex:’sendgird_table’)を作成します。
  • プライマリパーティションキーは sg_event_idにしました。

AWS Lambda

  • ロールにAmazonDynamoDBFullAccessのポリシーをアタッチしました。
  • Python 2.7

コード

テーブル名は「sendgird_table」としています。

SendGrid Event Webhookからはイベントが配列で送られます。

API Gateway

  • POSTでLambdaを指定します。
  • マッピングも何も特にせずデプロイします。

SendGridの設定

  • [MailSettings]の[Event Notification]をONにします。
  • HTTP POST URLにAPI Gatewayのエンドポイントを設定します。
  • イベントは[All]にチェックしました。
  • [Test Your Integration]でテスト出来ます。

以上でした。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , , ,

  関連記事

Amazon ECSサービスでAWS App Meshを使用

AWS App MeshユーザーガイドのAWS App Mesh とAmazon …

「AWS認定試験対策 AWS クラウドプラクティショナー」の出版が確定したのでAmazon著者セントラルに登録した

初の執筆本、「AWS認定試験対策 AWS クラウドプラクティショナー」の出版が確 …

Amazon SageMakerプロジェクトを使用してMLパイプラインを構築

SageMakerプロジェクトの作成 SageMaker Studioの左ナビゲ …

API GatewayのアクセスログをCloudWatchに記録する

Amazon API GatewayのアクセスログをCloudWatchに記録で …

Amazon EC2 インスタンスメタデータサービス(IMDS) v2のみにしました

今さらながらですが、EC2 インスタンスメタデータサービス(IMDS) v2を確 …

AWS KMSマルチリージョンキーを確認しました

2021年6月にKMS マルチリージョンキーがリリースされました。 マルチリージ …

Amazon Connectの新規作成からプッシュボタン入力と発信元電話番号をLambdaで処理するまで

とりあえずやりたいことはタイトルに書いたとおり、「電話をかけて、プッシュボタンに …

AWS Organizationsでアカウントを50作って指定したOUに移動するスクリプト

AWS Organizationsでアカウントを50個作る必要がありましたので、 …

AWS Lambda(Python3.7)でPandocを実行する際にCSSもLayerから読み込む

Pandocで必要そうなオプションを確認しておく 先日の「AWS Lambda( …

VyOSでssm-userからvyosユーザーに切り替える

EC2 VyOSで/etc/resolv.confを設定しました VyOSにSS …