跟踪 AWS SES 事件指标

Tracking AWS SES Event Metrics

我正在尝试了解跟踪我们通过 SES 发送的电子邮件的 SES 事件指标的最佳方式。目前,我们使用 API 和 SentTemplatedEmail() 发送电子邮件活动。配置集目前没有设置任何事件发布,我知道这将是第一步。

我的目标是收集每批发出的电子邮件的统计数据,例如退回率、打开率等。甚至可能确定哪些电子邮件地址退回或有错误。理想情况下,我想在我们自己的管理系统中收集这些信息并将其存储在我们的内部数据库中。

我知道我可以将事件发送到 Cloudwatch 或 Kines Data Firehose。如果我要执行其中任何一项,我将如何处理 fetching/parsing 这些服务中的信息以便在我们的内部应用程序中使用它?不明白上面的哪些服务在这方面是合适的(如果有的话)以及如何从那里开始。

关于如何构建这个的任何建议,或者在哪里阅读如何做到这一点?我看过有关如何进入 Cloudwatch 并从控制台查看指标的帖子,但找不到太多有关如何提取此数据的帖子。

更新: 我确实找到了这个:https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/cw-examples-getting-metrics.html 可以让我收集一段时间内的统计数据。不是我想要的,因为我想跟踪每次批量发送的统计信息,但仍然有用。也看不到跟踪哪些电子邮件被拒绝的方法,以便将它们从我们的列表中删除。

对于退回邮件、成功邮件和投诉邮件,您需要在 SES 中为它们启用 SNS 主题。

configure-sns-notifications

然后可以将 SQS 队列连接到 SNS 主题(例如退回的电子邮件),然后您可以让 SQS 队列触发 Lambda,该 Lambda 可以处理退回的电子邮件信息并将其保存到您的数据库以供进一步分析。然后,您还可以使用它从地址簿中删除任何被退回并可能影响成功率的电子邮件地址。请注意,这不是细粒度的。

有关详细统计信息,请查看此 link。您需要在 SES 中设置配置集并在发送电子邮件时使用它们。这将允许您在 Cloud Watch 中进行细粒度分析。

amazon-ses-now-provides-fine-grained-email-sending-metrics

如果您不想使用 Cloud Watch 分析指标,则可以将其导出到 Kinesis Firehose 或通过在 Cloud Watch 中设置指标流将其写入 S3。

Metric Streams