Это будет запускать вашу лямбда-функцию (с этим входом JSON, если он применяется) каждые 6 часов от запланированного времени.
Шаг 1: Перейти к CloudWatch
Сервис
Шаг 2: Нажмите Rules
на левой панели и нажмите кнопку Create Rule
Шаг 3: Выберите вариант Schedule
и Fixed rate of
, введите 6
и выберите Hours
Шаг 4: Нажмите Add Target
и выберите функцию Lambda. При желании вы можете отправить определенное значение JSON, когда эта лямбда-функция активирована. Вы можете сделать это, вставив JSON в поле Constant (JSON text)
.
Шаг 5: Нажмите Configure details
и сохраните это правило
Примечание. Если вы хотите запускать в определенное время каждые 6 часов (например, 12:00, 6:00, 12:00 и т. Д.), Вам нужно выбрать Cron Expression
в Шаг 3 .
Это выражение, которое вам нужно использовать: 0 0/6 * * ? *
РЕДАКТИРОВАТЬ (на основе комментариев ниже):
Да, это так, но этот процесс может сделать гораздо больше. Если вы посмотрите на список Targets
справа (Шаг 4), вы увидите такие сервисы, как SNS, SQS и т. Д. Вы можете использовать этот процесс для выполнения любой задачи cron / recurring.
Вот для чего я его использую в одном из моих приложений - У меня есть приложение, которое отправляет текстовые сообщения и электронные письма (используя сервис Pinpoint). Эти сообщения и электронные письма предварительно запланированы (иногда недели заранее). Поэтому я создаю сообщение и сохраняю его в своей базе данных (DynamoDb).
Тогда у меня есть лямбда-функция, которая срабатывает каждые 3 минуты. Лямбда-функция переходит к DynamoDb и получает все запланированные сообщения / электронные письма, которые необходимо отправить, отправляет электронную почту / SMS и помечает их как «отправленные» в DynamoDb. Через 3 минуты произойдет еще один триггер, и он будет продолжаться вечно.
Это также позволяет мне обрабатывать сбои - если отправка SMS или электронной почты не удалась, через 3 минуты она попытается снова, поскольку она еще не помечена как «Отправлено».
Надеюсь, это поможет.