ヤマムギ

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教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

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

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

 - AWS , , , ,

  関連記事

CloudWatch Logs機密データ保護を設定しました

Amazon CloudWatch Logs を使用して機密データを保護するがリ …

CloudFormationスタックポリシーでスタック更新を防止する

CloudFormationのスタックにスタックポリシーを設定することによって、 …

WordPressで画像アップロードができなくなった(AWS WAFでブロックしていた)

WordPressで画像がアップロードできなくなりました。 こんなメッセージです …

VPC内のLambdaからVPCエンドポイント経由でSecrets Managerを使う

InternetGatewayのないVPCでMySQLに対して一日数回のレポーテ …

ブログの画像を別アカウントのS3に移動するためにIAMロールでクロスアカウントアクセス

ずっと先延ばしにしていたのですが、このブログの画像はEC2から直接配信しています …

Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール

久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon …

Amazon ECS Workshop for AWS Summit Online

INTRODUCTION TO AMAZON ECSに手順や必要なリンクがありま …

ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する

何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …

Active Directory認証でAWSマネジメントコンソールにSSO

こちらの2つのサイトを参考にすすめました。 Active Directory資産 …

AWS Cost Explorerの履歴を38ヶ月とリソース別コストを見られるように設定しました

AWS Cost Explorer がより詳細な履歴データの提供を開始 知らなか …