Как программно запланировать лямбда-функцию AWS для запуска X через некоторое время после события? - PullRequest
1 голос
/ 28 марта 2019

Я планирую назначить лямбда-функцию AWS через 24 часа после определенного события.

Например: если что-то будет добавлено в мою базу данных, то через 24 часа после этого времени лямбда-функция AWS должна запускаться с определеннойпараметры.Это можно сделать с помощью вызова функции, чтобы настроить Lambda для запуска в течение 24 часов, или вызова API (это не обязательно должен быть веб-крючок).

Я просканировал документацию AWS и не могу найтирешение.

Я знаю, что можно запускать лямбда-функцию AWS по расписанию cron, вместо этого нужно искать что-то, что может динамически планировать ее случайным образом.

Большое спасибо!

1 Ответ

2 голосов
/ 28 марта 2019

Вы можете Запланировать события Amazon CloudWatch , чтобы он мог запускать функцию AWS Lambda в определенное время.Тем не менее, я не уверен, сможете ли вы передать ему конкретные параметры.

Лучше всего, вероятно, сохранить список событий в базе данных (например, DynamoDB) и запускать функцию Lambda каждый n минут.Функция Lambda может обращаться к таблице DynamoDB для более раннего события, которое необходимо запустить.Если это самое раннее даже в будущем, функция может просто выйти.Если самое раннее событие наступает сейчас (или в прошлом), оно может вызывать другую лямбда-функцию для выполнения по вашему желанию (с параметрами, извлеченными из таблицы DynamoDB).

Итак, вы будете использовать CloudWatch Eventsв качестве таймера и лямбда-функции в качестве логического контроллера «когда делать что».

...