Подключите сигнал тревоги в облаке к содержимому таблицы DynamoDB
Используя что-либо из набора инструментов AWS, есть ли способ отключить значения в таблице DynamoDB?
Например, если что-то обновляется в таблице DynamoDB, есть ли способ, которым я мог бы подключить вещи, чтобы проверить содержимое таблицы, и если в таблице установлены определенные значения, тревога Cloudwatch может сработать?
Примечание: мне нужно проверить все содержимое таблицы (не будет большой таблицы), прежде чем знать, что делать или нет, чтобы вызывать тревогу.
Даже некоторые подробности о том, какие компоненты стека могут это сделать, будут полезны!
1 ответ
Это возможно с помощью DynamoDB Streams и AWS Lambda для запуска тревоги. Шаги следующие.
- Создать будильник в CloudWatch.
- Для конкретной таблицы создайте поток для запуска лямбда-функции. Это гарантирует, что когда изменение произойдет в таблице DynamoDB, изменение будет доступно для лямбда-кода, где вы можете записать триггер тревоги, если изменение удовлетворяет вашему условию.
- Использование AWS SDK для CloudWatch вызывает тревогу, изменяя ее состояние вызова
setAlarmState
метод из лямбды, если условие выполнено.
В дополнение к вашему сценарию использования, если необходимо отправить уведомление после изменения определенных данных в таблице, вы можете настроить тему AWS SNS для запуска из Lambda следующим образом.
DynamoDB Strams -> Lambda -> SNS Publish
Здесь последующие действия могут быть настроены из SNS, когда публикуется сообщение.
Примечание. Вам необходимо предоставить разрешение CloudWatch для роли IAM, принятой функцией Lambda, для запуска тревоги.