Правило события AWS Cloudwatch: время начала и окончания

Можно ли установить время начала и окончания правил событий Cloudwatch? Вариант использования - я хочу создать правило, которое запускает лямбду, но я хочу, чтобы оно запускалось в определенную дату (каждые 2 минуты) и отключало его в другую дату (этот интервал дат может охватывать несколько месяцев).

Насколько мне известно, когда мы создаем правило (скорость (2 минуты)), оно сразу запускается. Я могу использовать этот подход, и в лямбде я могу проверить, совпадает ли текущая дата с целевой датой, и продолжить выполнение лямбда, и отключить правило, когда текущая дата больше даты окончания. Хотя это может сработать, но это не кажется правильным подходом, поскольку лямбда будет без необходимости выполняться до установленной даты.

Есть ли способ добиться того же без взлома?


person TA-    schedule 24.09.2020    source источник


Ответы (1)


Да, вы можете установить только определенную дату. Например, следующее правило 0/2 0 28 9 ? 2020 будет выполняться каждые 2 минуты только 28 Sep 2020:

введите описание изображения здесь

Обновлять

Чтобы охватить несколько месяцев, я думаю, вам нужны отдельные правила. Например, вы можете определить два правила для диапазона дат с 28 сентября по 5 октября: 0/2 0 28-31 9 ? 2020 и 0/2 0 1-5 10 ? 2020.

person Marcin    schedule 24.09.2020
comment
Что, если я хочу начать работу в - 28 сентября и хочу прекратить ее 5 октября? Я пробовал это выражение cron (0 0/24 28-5 9-10 ? 2020), но оно также дает следующие триггеры даты следующего месяца [Wed, 28 Oct 2020 00:00:00 GMT Thu, 29 Oct 2020 00:00:00 GMT Fri, 30 Oct 2020 00:00:00 GMT Sat, 31 Oct 2020 00:00:00 GMT] Можно ли остановить триггеры 5-го числа и больше не иметь последующих триггеров? - person TA-; 24.09.2020
comment
@ TA- Не могли бы вы отредактировать свой вопрос и уточнить, что именно вы хотите? Как написано сейчас, это означает, что вы хотите только один день определенной даты (каждые 2 минуты) и отключите ее в конце этой конкретной даты, а не диапазон дат или некоторую комбинацию разных дат. В худшем случае вы можете создать несколько правил для разных дат. - person Marcin; 24.09.2020
comment
Обновил мой вопрос - person TA-; 24.09.2020
comment
@ TA- Я не думаю, что ты сможешь охватить месяцы. Я обновил ответ. Вам нужно будет определить два правила, чтобы охватить диапазон дат через два месяца, например старт 28 сентября и финиш 15 октября: 0/2 0 28-31 9 ? 2020 и 0/2 0 1-15 10 ? 2020. - person Marcin; 24.09.2020