- AWS Lambda 教程
- AWS Lambda - 主页
- AWS Lambda - 概述
- AWS Lambda - 环境设置
- AWS Lambda - 简介
- 构建 Lambda 函数
- NODEJS 中的函数
- Java 中的函数
- Python 中的函数
- Go 中的函数
- C# 中的函数
- 配置 Lambda 函数
- 使用 AWS 控制台创建和部署
- 使用 AWS CLI 创建和部署
- 使用无服务器框架创建和部署
- 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 – 简介
AWS Lambda 是一项无需任何服务器即可计算代码的服务。据说这是无服务器计算。该代码是根据 AWS 服务中的事件响应执行的,例如在 S3 存储桶中添加/删除文件、更新 Amazon DynamoDBtables、来自 Amazon Api 网关的 HTTP 请求等。
AWS Lambda 代码可以用 NodeJS、Java、C#、Python 和 Go 编写。本章将详细讨论在AWS控制台中创建AWS Lambda函数。
AWS 控制台
通过链接https://aws.amazon.com/console登录 AWS 控制台。登录后,它会将您重定向到显示 AWS 服务的屏幕。
示例:创建函数
让我们借助示例来了解 AWS 控制台的功能。单击 Lambda(如上标记),它将重定向到创建函数,如下所示 -
单击创建功能按钮,屏幕显示以下详细信息 -
请注意,默认情况下,该选项是从头开始创作。此选项允许您从头开始编写 Lambda 代码。它只有一个带有hello world消息的简单函数。
第二个选项蓝图具有以下详细信息。
它以 AWS Lambda 可用的语言提供了已为某些 aws 服务编写的代码的详细信息。如果您需要为任何服务编写 AWS Lambda 代码,您可以检查蓝图并开始使用。
第三个选项无服务器应用程序存储库具有无服务器应用程序的设置,这将有助于部署 AWS Lambda 代码。
在进一步的讨论中,我们将研究第一个选项,即使用Author from scrap来创建 AWS lambda 函数。
在我们创建 Lambda 函数之前,需要一个角色,即使用 AWS 服务和 aws lambda 的权限。稍后必须将角色分配给 aws lambda 函数。
在 AWS 控制台中创建角色
要在 AWS 控制台中创建角色,请转到 AWS 控制台服务并单击 IAM,如下所示 -
现在,如果您单击IAM,您将看到如下所示的屏幕 -
如果您选择Roles,您可以在屏幕上看到以下按钮 -
现在,单击创建角色。它将要求您选择需要使用创建的角色的服务。
由于我们需要将此角色与 AWS Lambda 一起使用,因此选择Lambda并单击下一步:权限按钮,如上所示。下一个屏幕显示根据 AWS 服务可用的策略名称。您可以从这里选择政策 -
例如,如果您希望 AWS Lambda 能够与 S3 和 DynamoDB 配合使用,则需要选择策略。在搜索框中,输入 AWS 服务并单击复选框。您可以选择多个策略,然后单击“下一步:审核”。
也可以创建您自己的策略。例如,有一个 dynamodb 表,您只需授予该表权限,在这种情况下您可以创建策略。
单击创建策略按钮,如上面的屏幕所示。以下是屏幕上显示的详细信息。
选择您要为其创建策略的服务。稍后它将显示操作、资源和请求条件的数据。
现在,我们应该选择服务。让我们从搜索中选择AWS Dynamodb。操作有以下详细信息 -
现在,输入您想要给予 DynamoDB 的访问级别。然后,资源将显示以下详细信息 -
现在,选择表资源类型。您可以看到以下输出 -
对于表的权限,您需要添加 ARN。ARN 是在 AWS DynamoDB 中创建的表所特有的详细信息。当在 dynamodb 中创建表时,您将获得详细信息。
如果您单击添加 ARN,它将显示以下详细信息 -
现在,如果您输入ARN和区域,则会填充账户和表名称。您应该单击“添加”按钮来添加策略。同样,您可以为其他服务创建策略。
在这里,我们选择了两个策略AmazonS3FullAccess和AmazonDynamoDBFullAccess。我们已授予该角色对 S3 和 DynamoDB 的完全访问权限。但是,建议您仅向必要的存储桶和表授予权限。
您可以按照前面讨论的步骤使用ARN创建策略。
步骤1
单击“创建角色”按钮创建角色。所有创建的角色都显示如下 -
第2步
请注意,如果您需要对创建的角色进行任何修改,您可以选择所需的角色。如果我们选择“从头开始创作”选项,则必须输入“名称”、“运行时”和“角色”。
步骤3
您可以在运行时下拉列表中观察以下详细信息-
步骤4
您可以选择所需的运行时并如图所示继续。
角色下拉菜单有以下选项 -
选择现有角色 -这将显示在 IAM 角色中创建的所有角色。
从模板创建新角色 -这将允许您创建角色并将显示为该角色选择的权限。观察屏幕截图以便更好地理解。
创建自定义角色-这允许用户创建我们之前讨论的策略。
步骤5
选择运行时、角色并添加函数。单击“创建函数”按钮来创建 lambda 函数。显示的下一个屏幕如下 -
AWS Lambda 函数的部分内容
AWS Lambda 函数有两个部分:配置和监控。让我们详细讨论每一个。
配置
配置中包含以下功能。
添加触发器
需要添加到 AWS Lambda 函数的触发器显示如下 -
请注意,当我们选择触发器时,我们需要添加该触发器的配置详细信息。以S3触发器为例,我们需要选择bucket名称;对于 Dynamodb 触发器,我们需要选择表名称。
例子
让我们看一下 S3 触发器的配置详细信息示例 -
现在,添加 S3 触发器的配置详细信息 -
在这里,您需要选择存储桶名称、要触发 Lambda 的事件类型、前缀和过滤模式(如果有),然后添加触发器。
在 Lambda 中添加代码
现在,我们应该关注要编写的 Lambda 代码。要在 aws lambda 中添加代码,有三个选项 -
- 使用内联编辑器
- 使用 .zip 文件
- 从 Amazon S3 上传文件
如下面的屏幕截图所示 -
让我们详细讨论它们中的每一个。
使用内联编辑器
您可以在其中编写代码的内联代码编辑器如下 -
您可以通过选择您选择的语言来编写代码。您可以在此处再次选择运行时。
请观察以下屏幕截图以更好地理解 -
代码必须写在index.js.Handler中。详细信息将根据运行时间而有所不同。对于nodejs,它是filename.export函数,现在是index.lambda处理程序。
上传 .ZIP 文件
您可以先编写代码,将其压缩,然后选择“上传 .ZIP 文件”来上传 zip 文件。
从 Amazon S3 上传文件
您可以将文件上传到 S3 存储桶中,然后选择选项从 Amazon S3 上传文件。
请注意,对于.ZIP和S3,无法更改运行时。
环境变量
它们接收键值对并与 AWS Lambda 代码共享。我们可以使用 AWS Lambda 中的环境变量来存储数据库连接详细信息、文件详细信息以存储输出、日志文件详细信息等。
标签
它们是添加到 AWS Lambda 的键值对,以便在跨不同区域使用时更好地组织函数。对于简单的用例,这不是必需的。当创建大量 Lambda 函数时,标记有助于过滤和管理 Lambda 函数。
执行角色
如果在创建 Lambda 函数时未正确完成,您可以在此处再次更改角色。您可以在此处更新或创建新角色。它提供了与创建 Lambda 函数开始时显示的选项相同的选项。
基本设置
您需要在此处输入 Lambda 函数正在执行的操作的简短描述。选择 Lambda 函数所需的内存和超时。
网络
这允许您选择 VPC,从而允许您从 VPC 访问 Lambda 函数。默认情况下,未选择任何VPC。
调试和错误处理
对于调试和错误处理,您可以选择 AWS 服务发送详细信息。可用选项有None、SNS和SQS。
并发性
这允许您为此函数分配允许的并发执行的特定限制。
审计与合规
其中包含在 AWS CloudTrail 的帮助下管理的日志。
完成后,您需要使用“保存”按钮保存更改,如下所示 -
现在,如果您单击测试按钮,它将要求测试事件。您可以通过示例测试事件,如下所示 -
创建的测试事件如下所示 -
现在,保存测试事件并单击测试按钮以查看 AWS Lambda 函数的执行情况 -
index.js的代码如下 -
exports.lambdahandler = (event, context, callback) => { // TODO implement console.log(event.key1); console.log(event.key2); console.log(event.key3); callback(null, 'Lambda test'); };
请注意,当出现错误或成功时,将调用回调函数。如果成功,您可以看到将显示Lambda 测试。
监控
选择监控选项卡可以查看Lambda函数的执行详细信息。图表显示了执行时间、发生的错误等详细信息。
您还可以在 Cloudwatch 中查看日志。为此,请转到 AWS 服务并选择 cloudwatch,如下所示 -
现在,从左侧选择日志并在过滤器中输入您的函数名称 -