AWS Lambda – 配置 Lambda 函数


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

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

内存分配

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

内存分配

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

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

最大内存

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

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

该函数的内存详细信息如下面的屏幕截图所示 -

内存详细信息

使用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 控制台中AWS Lambda 函数myfirstlambdafunction的相应输出。观察内存从128MB变为256MB。

内存命令

最大执行时间

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

最大执行时间

IAM 角色

创建AWS Lambda函数时,需要分配角色或权限。如果您需要适用于 S3 或 dynamoDB 的 AWS Lambda,则需要分配与 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步

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

拉姆达环境

步骤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 函数执行