Поиск по сайту:

Как планировать функции AWS Lambda с помощью событий CloudWatch


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

Что такое события CloudWatch?

CloudWatch — это сервис от AWS, который отслеживает изменения в вашей облачной инфраструктуре и реагирует на них. Чаще всего он используется для ведения журналов и мониторинга, но чаще всего он действует как связующее звено, скрепляющее множество приложений.

Одной из таких функций является CloudWatch Events, служба, которая в основном сопоставляет причину со следствием. Существует множество различных действий, которые могут инициировать события, такие как прерывание точечного экземпляра для EC2, операции на уровне корзины и объекта для S3 и т. д. Затем он может запускать другие действия, такие как запуск лямбда-функции, публикация в очереди SNS или многие другие действия. другие действия.

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

Настройка повторяющейся функции

Вам, конечно, понадобится функция, которую вы захотите запустить. Вы можете создать их из консоли управления Lambda. Если вы просто хотите, чтобы функция Hello World тестировалась с помощью событий CloudWatch, вам нужно будет зарегистрировать событие, чтобы иметь запись о некоторых выходных данных.

'use strict';

exports.handler = (event, context, callback) => {
  console.log('LogScheduledEvent');
  console.log('Received event:', JSON.stringify(event, null, 2));
  callback(null, 'Finished');
};

Настройте функцию и протестируйте ее с помощью встроенных инструментов, а также просмотрите журналы и последние вызовы на вкладке «Мониторинг».

Перейдите в консоль управления CloudWatch, чтобы создать новое правило, в разделе «События» > «Правила» на боковой панели.

Для источника события переключите его с «Шаблон события» на «Расписание», чтобы настроить автоматические события. Вы можете использовать фиксированную скорость или использовать синтаксис cron, чтобы указать более точное время. Вы можете прочитать наше руководство по cron или использовать этот онлайн-инструмент, который поможет вам с синтаксисом, но общий формат таков:

minute hour day month weekday

Для цели добавьте новую цель и выберите «Лямбда-функция». Выберите имя функции, которую вы хотите запустить.

Нажмите «Настроить детали», дайте ему имя и создайте правило. Ваша функция Lambda должна начать выполняться, и вы можете просмотреть журналы для нее на вкладке мониторинга Lambda или в журналах CloudWatch.