Оповещения о выставлении счетов AWS: Отправка электронной почты и запуск функции Lambda

#amazon-web-services #aws-lambda #aws-billing

Вопрос:

То, что я пытаюсь реализовать, заключается в том, что в биллинговом сигнале AWS я хочу отправить электронное письмо и вызвать функцию lambda, написанную на python, откуда я хочу что-то обновить в базе данных. Итак, как я могу получить и то, и другое, я знаю, что против тревоги вы можете отправить электронное письмо пользователю, но как сделать и то, и другое, когда срабатывает тревога?

 {
    "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"
    }
}
 

Ответ №1:

При настройке будильника Amazon CloudWatch вы можете указать тему службы простых уведомлений Amazon (SNS). Сообщения, относящиеся к сигналу тревоги, будут отправляться в эту тему.

Amazon SNS-это модель «публикация-подписка», означающая, что получателям необходимо подписаться на тему, чтобы получать уведомления. Типы подписки включают:

  • Электронная почта
  • Функции AWS Lambda

Все подписчики на тему получат сообщения, отправленные в эту тему.

Когда подписанная функция AWS Lambda получает сообщение из раздела SNS, ей предоставляется подробная информация о сигнале тревоги, вызвавшем сообщение. Вы можете использовать эту информацию для хранения соответствующих данных в базе данных.

Комментарии:

1. Спасибо за ваш вклад. Я добавил электронную почту и лямбду в подписку. Один вопрос, который я хотел бы задать, запускает ли функция Lambda функцию публикации сообщения вручную из раздела SNS ?

2. ДА. Все подписчики получат это сообщение.