跳至主要内容

实战教程:使用 Amazon SNS 构建您的第一个邮件通知系统

在现代应用中,及时的消息通知是不可或缺的一环,无论是用户注册确认、订单状态更新,还是系统健康状况告警。本教程将指导您(无论是初创公司的开发者还是希望自动化业务流程的企业主)如何使用 Amazon Simple Notification Service (SNS),轻松构建一个可靠、可扩展的邮件通知系统。

教程简介

  • Tag: Amazon SNS
  • 难度:初级
  • 时间:30 分钟
  • 费用:亚马逊云科技免费套餐配额
  • 前提条件:

             1. 海外区域: 注册 / 登录 亚马逊云科技

             2. 中国区域: 注册 / 登录 亚马逊云科技

  • 上次更新时间:2025 年 8 月 6 日
  • 相关行业:通用
  • 相关产品:Amazon SNS

教程目标

完成本教程后,您将能够:

  • 理解 Amazon SNS 的“发布/订阅”模型。
  • 成功创建一个 SNS 主题(Topic)作为消息中心。
  • 将您的电子邮件地址作为订阅者(Subscriber)添加到主题中。
  • 发布一条测试消息,并成功在您的邮箱中收到通知。

架构概览

我们将构建一个非常经典且强大的发布/订阅模型。任何应用或服务(发布者)都可以向我们的 SNS 主题发送消息,而所有订阅了这个主题的端点(比如我们的邮箱)都会收到这条消息。

Missing alt text value

准备工作

  • 一个亚马逊云科技账户:本教程所有操作的前提。
  • 一个可以接收邮件的电子邮箱:用于接收最终的通知。
     

第一步:创建您的 SNS 主题

全部打开

    “主题”是消息的中心枢纽,所有的消息都将发送到这里。

    登录您的 AWS 管理控制台。在顶部的搜索框中输入 SNS 并回车,进入 Simple Notification Service 服务控制台。

    • 在 SNS 控制台的左侧导航栏中,点击“主题 (Topics)”。
    • 然后点击“创建主题 (Create topic)”按钮。

     

    • 类型 (Type):在“标准 (Standard)”和“FIFO”之间,选择“标准 (Standard)”。对于大多数通知场景,标准主题提供了高吞吐量和最佳的性能。
    • 名称 (Name):为您的主题取一个有意义的名称,例如 my-first-notification-topic。
    • 保持其他设置默认,滚动到页面底部,点击“创建主题”。

     

    页面会自动跳转到您刚刚创建的主题的详情页面。至此,您的消息中心已经建立完毕!

     

第二步:创建订阅

全部打开

    现在我们需要告诉 SNS 主题,当有消息来时,应该把消息发送到哪里。

    在您的主题详情页面,您会看到一个“订阅 (Subscriptions)”标签页。下方有一个“创建订阅 (Create subscription)”按钮,点击它。

     

    • 主题 ARN:这个字段会自动填充,无需修改。
    • 协议 (Protocol):这里是 SNS 的强大之处,它支持多种通知方式。点击下拉菜单,选择“电子邮件 (Email)”。
    • 端点 (Endpoint)在此输入您准备用来接收通知的电子邮件地址。请务必输入正确。

     

    点击右下角的“创建订阅”按钮。

第三步:确认订阅(关键步骤)

全部打开

    为了防止垃圾邮件,SNS 需要确认您确实是该邮箱的所有者。

    打开您刚刚填写的邮箱的收件箱。您会收到一封来自“AWS Notifications”的邮件,主题通常是 “AWS Notification - Subscription Confirmation”。

     

     打开这封邮件,在邮件正文中,找到并点击“Confirm subscription”链接。

     

    •  点击链接后,您的浏览器会打开一个显示“Subscription confirmed!”的页面。
    • 现在,回到 AWS 控制台的订阅列表页面,刷新一下。您会看到该订阅的状态从“待确认 (Pending confirmation)”变为了“已确认 (Confirmed)”。

     

第四步:发布您的第一条测试消息

全部打开

    万事俱备,只欠东风。让我们来发送一条消息,看看效果如何!

    • 在左侧导航栏回到“主题 (Topics)”列表,点击我们创建的 my-first-notification-topic。
    • 在主题详情页的右上角,找到并点击“发布消息 (Publish message)”按钮。

     

    • 主题 (Subject):输入邮件的标题,例如 Greetings from AWS。
    • 消息正文 (Message body):输入您想发送的内容,例如 恭喜!您的第一个SNS通知系统已成功运行!

     

    滚动到底部,点击“发布消息”。

第五步:在邮箱中验证通知

全部打开

    立刻检查您的邮箱收件箱!您应该已经收到了一封标题为“Greetings from AWS”的新邮件,内容正是您刚刚发布的信息。

     

总结

全部打开

    恭喜您!您已经成功地搭建了一个功能完备的邮件通知系统。虽然这个例子很简单,但它为您打开了一扇通往自动化和事件驱动架构的大门。

    接下来,您可以探索:

    • 集成 CloudWatch 告警:当您的服务器CPU过高时,自动向这个 SNS 主题发消息,通知运维人员。
    • 集成 Lambda 函数:当有新用户在您的应用注册时,调用 Lambda 函数向这个 SNS 主题发消息,发送欢迎邮件。
    • 尝试其他协议:除了邮件,您还可以尝试使用 SMS(短信)或 SQS(消息队列)作为订阅端点。

清理资源

全部打开

    为了保持您的账户整洁,您可以删除本次教程创建的资源。

    1. 在您的 SNS 主题详情页面,选中您创建的订阅,点击“删除”。
    2. 回到“主题”列表,选中您的主题,点击“删除”。