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 您的函数名称 -- 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 中创建一个函数,如下所示。

步骤 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 函数的输出将如下所示 −
