AWS Lambda - Настройка лямбда-функции
В предыдущих главах мы узнали, как создать функцию AWS Lambda в консоли AWS. Однако есть и другие параметры для создания лямбда-функции. К ним относятся выделение памяти, тайм-аут и т. Д.
В этой главе мы подробно рассмотрим следующие свойства конфигурации AWS Lambda.
Выделение памяти
Войдите в консоль AWS и создайте или выберите существующую лямбда-функцию. Щелкните значокConfigurationВкладка, чтобы получить подробную информацию о выделенной памяти. Посмотрите на скриншот ниже -
Обратите внимание, что по умолчанию выделенная память 128MB. Если вы хотите увеличить объем памяти, вы можете щелкнуть ползунок.
Память будет увеличена до 64MBпри перемещении ползунка. Обратите внимание, что максимально доступная память3008MB. Посмотрите на скриншот ниже -
Вы также можете использовать 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 Lambda для завершения работы в случае истечения тайм-аута. Функция AWS Lambda либо будет запущена в течение отведенного времени, либо завершится, если истечет указанный тайм-аут. Вам необходимо оценить время, необходимое для выполнения функции, и соответственно выбрать время вConfiguration вкладка в консоли AWS, как показано ниже -
Роль IAM
При создании функции AWS Lambda необходимо назначить роль или разрешение. Если вам нужен AWS Lambda для S3 или DynamoDB, необходимо назначить разрешение на использование лямбда-сервисов. В зависимости от назначенной роли AWS Lambda примет решение о необходимых действиях. Например, если вы предоставляете полный доступ к Dynamodb, вы можете добавлять, обновлять и удалять строки из таблицы Dynamodb.
Имя обработчика
Это начало выполнения функции AWS Lambda. Функция обработчика содержит сведения о инициированном событии, объекте контекста и обратном вызове, который необходимо отправить обратно.success или же error 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
Результат выполнения лямбда-функции будет таким, как показано: