You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS SAM为Lambda配置SNS目标以实现执行结果邮件通知

AWS SAM为Lambda配置SNS目标以实现执行结果邮件通知

我来帮你把这些组件完整串起来!下面是一个可直接使用的AWS SAM模板,涵盖了创建SNS主题、配置Lambda的执行结果目标,以及必要的权限设置,这样你的Lambda函数执行成功或失败时,就能自动触发SNS发送通知邮件了。

完整的template.yaml示例

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Resources:
  # 1. 创建SNS主题,用于发送执行结果通知
  ExecutionResultTopic:
    Type: AWS::SNS::Topic
    Properties:
      DisplayName: "Lambda执行结果通知"
      TopicName: "Lambda-Execution-Result-Topic"

  # 2. 你的Lambda函数,配置成功/失败目标指向SNS主题
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: "MyProcessingLambda"
      Runtime: python3.12 # 替换成你实际使用的运行时
      Handler: app.lambda_handler # 替换成你的处理程序路径
      CodeUri: ./src/ # 替换成你的代码目录
      # 配置Lambda执行成功后的目标
      OnSuccess:
        Destination: !Ref ExecutionResultTopic
        Type: SNS
      # 配置Lambda执行失败后的目标
      OnFailure:
        Destination: !Ref ExecutionResultTopic
        Type: SNS
      # 给Lambda添加发布到SNS主题的权限
      Policies:
        - Statement:
            - Effect: Allow
              Action: sns:Publish
              Resource: !Ref ExecutionResultTopic

Outputs:
  # 输出SNS主题ARN,方便后续查看或订阅
  ExecutionResultTopicArn:
    Value: !Ref ExecutionResultTopic
    Description: ARN of the SNS topic for Lambda execution results

关键部分说明

  • SNS主题创建:我们先定义了一个SNS主题,设置了DisplayName(邮件通知里会显示这个名称)和TopicName(主题的唯一标识)。
  • Lambda目标配置:在Lambda的Properties里添加了OnSuccess和OnFailure字段,分别指定了目标SNS主题的ARN,类型设为SNS,这样Lambda执行完成后会自动把结果推送到这个主题。
  • 权限设置:通过Policies给Lambda函数添加了sns:Publish的权限,确保Lambda有能力向SNS主题发送消息。
  • 后续步骤:模板部署完成后,你需要在AWS控制台找到这个SNS主题,手动订阅你的邮件地址(订阅后需要确认邮箱),之后就能收到Lambda的执行结果通知了。

注意事项

  • 如果你只想在成功或失败其中一种场景下发送通知,只保留对应的OnSuccess或OnFailure配置即可。
  • 运行时、Handler、CodeUri这些字段要替换成你实际的Lambda配置信息。
  • 邮件通知的内容默认包含Lambda的执行结果、请求ID等信息,你也可以通过SNS的消息过滤或Lambda自定义输出内容来调整通知详情。

备注:内容来源于stack exchange,提问作者pbuchheit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:59:30