Учебники

Amazon Web Services — Лямбда

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

AWS Lambda поддерживает код, написанный на Java, Python и Node.js, и сервис может запускать процессы на языках, поддерживаемых Amazon Linux (включая Bash, Go и Ruby).

Ниже приведены некоторые рекомендуемые советы по использованию AWS Lambda.

  • Напишите свой код функции Lambda в стиле без состояния.

  • Никогда не объявляйте никакие переменные функции вне области действия обработчика.

  • Убедитесь, что у вас есть набор разрешений + rx для ваших файлов в загруженном ZIP-архиве, чтобы Lambda могла выполнять код от вашего имени.

  • Удалите старые функции Lambda, когда они больше не нужны.

Напишите свой код функции Lambda в стиле без состояния.

Никогда не объявляйте никакие переменные функции вне области действия обработчика.

Убедитесь, что у вас есть набор разрешений + rx для ваших файлов в загруженном ZIP-архиве, чтобы Lambda могла выполнять код от вашего имени.

Удалите старые функции Lambda, когда они больше не нужны.

Как настроить AWS Lambda?

Выполните следующие действия, чтобы настроить AWS Lambda в первый раз.

Шаг 1 — Войдите в аккаунт AWS.

Шаг 2. Выберите Lambda в разделе сервисов AWS.

Amazon Web Services

Шаг 3 — Выберите Blueprint (необязательно) и нажмите кнопку Skip.

лямбда

Шаг 4 — Предоставьте необходимую информацию для создания функции Lambda, как показано на следующем снимке экрана, и вставьте код Node.js, который будет запускаться автоматически при добавлении нового элемента в DynamoDB. Выберите все необходимые разрешения.

Настроить функцию

Лямбда-обработчик функций

Шаг 5 — Нажмите кнопку Далее и подтвердите свои данные.

Шаг 6 — Нажмите кнопку «Создать функцию».

Теперь, когда мы выберем сервис Lambda и перейдем на вкладку Источники событий, записей не будет. Добавьте хотя бы один источник в функцию Lambda для работы. Здесь мы добавляем таблицу DynamoDB.

Мы создали таблицу с использованием DynamoDB (мы обсудим это подробно в главе DynamoDB).

Шаг 7 — Выберите вкладку потока и свяжите ее с функцией Lambda.

Amazon DynamoDB

Вы увидите эту запись на вкладке Источники событий на странице Сервиса Lambda.

Шаг 8 — Добавьте несколько записей в таблицу. Когда запись будет добавлена ​​и сохранена, служба Lambda должна вызвать функцию. Это можно проверить с помощью лямбда-логов.

Шаг 9 — Чтобы просмотреть журналы, выберите сервис Lambda и нажмите вкладку Мониторинг. Затем нажмите «Просмотреть журналы» в CloudWatch.

мониторинг

Преимущества AWS Lambda

Ниже приведены некоторые преимущества использования задач Lambda:

  • Лямбда-задачи не нужно регистрировать как типы активности Amazon SWF.

  • Мы можем использовать любые существующие лямбда-функции, которые вы уже определили в рабочих процессах.

  • Лямбда-функции вызываются непосредственно Amazon SWF; нет необходимости разрабатывать программы для их реализации и выполнения.

  • Лямбда предоставляет нам метрики и журналы для отслеживания выполнения функций.

Лямбда-задачи не нужно регистрировать как типы активности Amazon SWF.

Мы можем использовать любые существующие лямбда-функции, которые вы уже определили в рабочих процессах.

Лямбда-функции вызываются непосредственно Amazon SWF; нет необходимости разрабатывать программы для их реализации и выполнения.

Лямбда предоставляет нам метрики и журналы для отслеживания выполнения функций.

AWS Lambda Limits

Ниже приведены три типа ограничений лямбда.

Предел дроссельной заслонки

Предел дросселя составляет 100 одновременных выполнений лямбда-функций для каждой учетной записи и применяется к общему количеству одновременных выполнений всех функций в пределах одного региона.

Формула для расчета количества одновременных выполнений для функции = (средняя продолжительность выполнения функции) X (количество запросов или событий, обработанных AWS Lambda).

Когда предел дросселя достигнут, он возвращает ошибку регулирования с кодом ошибки 429. Через 15-30 минут вы можете начать работу снова. Предел дроссельной заслонки можно увеличить, связавшись с центром поддержки AWS.

Ограничение ресурсов

В следующей таблице приведен список ограничений ресурсов для лямбда-функции.

Ресурс Предел по умолчанию
Объем эфемерного диска (пробел «/ tmp») 512 МБ
Количество файловых дескрипторов +1024
Количество процессов и потоков (общее количество) +1024
Максимальная продолжительность выполнения запроса 300 секунд
Вызвать размер полезной нагрузки тела запроса 6 МБ
Вызвать размер полезной нагрузки тела ответа 6 МБ

Предел обслуживания

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

Вещь Предел по умолчанию
Размер пакета развертывания лямбда-функции (файл .zip / .jar) 50 МБ
Размер кода / зависимостей, которые можно заархивировать в пакет развертывания (несжатый размер zip / jar) 250 МБ
Общий размер всех пакетов развертывания, которые можно загрузить в каждом регионе 1,5 ГБ
Количество уникальных источников событий типа источника запланированных событий для каждой учетной записи 50
Количество уникальных лямбда-функций, которые вы можете подключить к каждому запланированному событию 5

Для получения последней обновленной структуры лимитов и получения дополнительной информации посетите веб- сайт https://docs.aws.amazon.com/lambda/latest/dg/limits.html/.