Учебники

AWS Lambda — Настройка лямбда-функции

В предыдущих главах мы узнали, как создать функцию AWS Lambda в консоли AWS. Однако есть и другие параметры для создания лямбда-функции. К ним относятся распределение памяти, время ожидания и т. Д.

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

Выделение памяти

Войдите в консоль AWS и создайте или выберите существующую лямбда-функцию. Нажмите вкладку Конфигурация, чтобы получить подробную информацию о выделенной памяти. Посмотрите на скриншот, показанный ниже —

Выделение памяти

Обратите внимание, что по умолчанию выделенная память составляет 128 МБ . Если вы хотите увеличить память, вы можете нажать на ползунок.

Память будет увеличена до 64 МБ при перемещении ползунка. Обратите внимание, что максимальный объем доступной памяти составляет 3008 МБ . Посмотрите на скриншот, показанный ниже —

Максимальная память

Вы также можете использовать aws cli из командной строки для увеличения лимита памяти. Вам придется отдавать память с шагом 64 МБ.

Теперь давайте увеличим лимит памяти AWS Lambda с именем myfirstlambdafunction .

Детали памяти функции показаны на скриншоте ниже:

Детали памяти

Команда, используемая для изменения памяти с помощью aws cli, выглядит следующим образом:

aws lambda update-function-configuration --function-name your function name --
region region where your function resides --memory-size memory amount --
profile admin user

Соответствующий вывод AWS Lambda-функции myfirstlambdafunction в консоли AWS показан здесь. Обратите внимание, что память изменяется с 128 МБ до 256 МБ.

Команда памяти

Максимальное время выполнения

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

Максимальное время выполнения

Роль IAM

При создании лямбда-функции AWS необходимо назначить роль или разрешение. Если вам нужна AWS Lambda для S3 или DynamoDB, необходимо назначить разрешение в отношении сервисов Lambda. На основании назначенной роли AWS Lambda определит, какие шаги необходимо предпринять. Например, если вы предоставляете полный доступ к DynamodB, вы можете добавлять, обновлять и удалять строки из таблицы DynamodB.

Имя обработчика

Это начало выполнения функции AWS Lambda. Функция-обработчик имеет подробную информацию о сработавшем событии, объекте контекста и обратном вызове, который должен отправить обратно в случае успеха или ошибки AWS Lambda.

Формат функции-обработчика в nodejs показан здесь —

exports.handler = (event, context, callback) => {
   callback(null, "hello from lambda");
};

Лямбда-функция с использованием переменных среды

В этом разделе мы создадим простую лямбда-функцию с использованием переменных среды, добавленных в раздел конфигурации. Для этого выполните шаги, указанные ниже, и обратитесь к соответствующим скриншотам —

Шаг 1

Перейдите в консоль AWS и создайте функцию в Lambda, как показано на рисунке.

Лямбда-переменные

Шаг 2

Теперь добавьте переменные окружения, как показано на рисунке —

Лямбда-среда

Шаг 3

Теперь давайте возьмем то же самое в лямбда-коде следующим образом:

exports.handler = (event, context, callback) => {
   var hostName = process.env.host;   
   var userName = process.env.username;
   callback(null, "Environment Variables =>"+hostName+" and "+userName);
};

Шаг 4

Чтобы получить подробности из переменных среды, нам нужно использовать process.env, как показано. Обратите внимание, что этот синтаксис предназначен для среды выполнения NodeJS .

var hostName = process.env.host;   
var userName = process.env.username;

Шаг 5

Вывод для лямбда-функции при выполнении будет таким, как показано —