AWS 账单提醒:发送电子邮件并触发 Lambda 函数

AWS Billing Alerts: Send email and trigger Lambda function

我想要实现的是,在 AWS 账单警报上,我想发送一封电子邮件并调用一个用 python 编写的 lambda 函数,从那里我想更新数据库中的某些内容。那么我怎样才能同时获得这两者,我知道针对警报您可以向用户发送电子邮件但是当触发警报时如何同时执行这两项操作?

{
    "Type": "AWS::CloudWatch::Alarm",
    "Properties": {
        "AlarmName": "AWS Polly Alarm One",
        "AlarmDescription": "AWS Polly Alarm One",
        "ActionsEnabled": true,
        "OKActions": [],
        "AlarmActions": [
            "arn:aws:sns:us-east-1:XXXXXXXXXXXX:Turn_Off_AWS_Polly_Send_Email_One"
        ],
        "InsufficientDataActions": [],
        "MetricName": "EstimatedCharges",
        "Namespace": "AWS/Billing",
        "Statistic": "Maximum",
        "Dimensions": [
            {
                "Name": "ServiceName",
                "Value": "AmazonPolly"
            },
            {
                "Name": "Currency",
                "Value": "USD"
            }
        ],
        "Period": 60,
        "EvaluationPeriods": 1,
        "DatapointsToAlarm": 1,
        "Threshold": 0,
        "ComparisonOperator": "GreaterThanOrEqualToThreshold",
        "TreatMissingData": "missing"
    }
}

配置 Amazon CloudWatch 警报时,您可以指定 Amazon Simple Notification Service (SNS) 主题。与警报相关的消息将发送到此主题。

Amazon SNS 是 'publish-subscribe' 模型,这意味着收件人需要 订阅 主题才能收到通知。 Subscription types包括:

  • 电子邮件
  • AWS Lambda 函数

主题的所有 订阅者将收到发送到该主题的消息。

当订阅的 AWS Lambda 函数收到来自 SNS 主题的消息时,它会获得触发该消息的警报的详细信息。您可以使用此信息将相关数据存储在数据库中。