#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. ДА. Все подписчики получат это сообщение.