AWS Lambda – 配置 Lambda 函数

在前面的章节中,我们学习了如何在 AWS 控制台中创建 AWS Lambda 函数。但是,创建 Lambda 函数还有其他参数。这些包括内存分配、超时等。

在本章中,让我们详细了解 AWS Lambda 的以下配置属性。

内存分配

登录 AWS 控制台并创建或选择现有的 lambda 函数。单击 配置 选项卡以获取分配内存的详细信息。查看下面显示的屏幕截图 −

内存分配

请注意,默认情况下分配的内存为 128MB。如果您想增加内存,可以单击滑块。

随着滑块的移动,内存将增加到 64MB。请注意,可用的最大内存为 3008MB。查看下面显示的屏幕截图 −

Maximum Memory

您还可以从命令提示符中使用 aws cli 来增加内存限制。您必须以 64MB 为增量提供内存。

现在,让我们增加名称为:myfirstlambdafunction 的 AWS Lambda 的内存限制。

该函数的内存详细信息显示在下面的屏幕截图中 −

Memory Details

使用 aws cli 更改内存的命令如下 −

aws lambda update-function-configuration --function-name 您的函数名称 --
region 您的函数所在的区域 --memory-size 内存量 --
profile admin 用户

此处显示 AWS Lambda 函数 myfirstlambdafunction 在 AWS 控制台中的相应输出。观察内存从 128MB 更改为 256MB。

内存命令

最大执行时间

超时是分配给 AWS Lambda 函数在发生超时时终止的时间。AWS Lambda 函数将在分配的时间内运行,如果超过给定的超时,则终止。您需要评估函数执行所需的时间,并在 AWS 控制台的 配置 选项卡中选择相应的时间,如下所示 −

最大执行时间

IAM 角色

创建 AWS Lambda 函数时,需要分配角色或权限。如果您需要 AWS Lambda for S3 或 dynamoDB,则需要分配与 lambda 服务相关的权限。根据分配的角色,AWS Lambda 将决定要采取的步骤。例如,如果您授予 dynamodb 的完全访问权限,则可以添加、更新和删除 dynamodb 表中的行。

处理程序名称

这是 AWS Lambda 函数执行的开始。处理程序函数包含触发事件、上下文对象和必须在 AWS Lambda 成功错误 时返回的回调的详细信息。

nodejs 中处理程序函数的格式显示在此处 −

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

使用环境变量的 Lambda 函数

在本节中,我们将使用配置部分中添加的环境变量创建一个简单的 Lambda 函数。为此,请按照下面给出的步骤操作并参考相应的屏幕截图 −

步骤 1

转到 AWS 控制台并在 Lambda 中创建一个函数,如下所示。

Lambda 变量

步骤 2

现在,添加环境变量,如下所示 −

Lambda 环境

步骤 3

现在,让我们在 Lambda 代码中获取相同的内容,如下所示 −

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

执行时 Lambda 函数的输出将如下所示 −

Lambda Function Execution