- AWS Lambda 教程
- AWS Lambda - 首页
- AWS Lambda - 概述
- AWS Lambda - 环境设置
- AWS Lambda - 简介
- 构建 Lambda 函数
- NODEJS 中的函数
- Java 中的函数
- Python 中的函数
- Go 中的函数
- C# 中的函数
- 配置 Lambda 函数
- 使用 AWS 控制台创建和部署
- 使用 AWS CLI 创建和部署
- 使用 Serverless 框架创建和部署
- AWS 执行和调用 Lambda 函数
- 删除 Lambda 函数
- 使用 Amazon API Gateway
- 带有 Amazon S3 的 Lambda 函数
- 带有 Amazon DynamoDB 的 Lambda 函数
- 带有计划事件的 Lambda 函数
- 带有 Amazon SNS 的 Lambda 函数
- 带有 CloudTrail 的 Lambda 函数
- 带有 Amazon Kinesis 的 Lambda 函数
- 带有自定义用户应用程序的 Lambda 函数
- AWS Lambda@Edge 与 CloudFront
- 使用 Cloudwatch 进行监控和故障排除
- AWS Lambda - 其他示例
- AWS Lambda 有用资源
- AWS Lambda - 快速指南
- AWS Lambda - 有用资源
- AWS Lambda - 讨论
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 Lambda 函数 **myfirstlambdafunction** 在 AWS 控制台中的相应输出显示在此处。观察内存已从 128MB 更改为 256MB。
最大执行时间
超时是分配给 AWS Lambda 函数的时间,如果超时发生则终止。AWS Lambda 函数将在分配的时间内运行,或者如果超过给定的超时时间则终止。您需要评估函数执行所需的时间,并相应地在 AWS 控制台的“**配置**”选项卡中选择时间,如下所示 -
IAM 角色
创建 AWS Lambda 函数时,需要分配角色或权限。如果您需要 AWS Lambda 用于 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 函数执行的输出将如下所示 -