创建第一个 Lambda 函数
要开始使用 Lambda,请使用 Lambda 控制台创建函数。您可以在几分钟的时间内创建和部署函数,并在控制台中对其进行测试。
在学习本教程时,您将学习一些基本的 Lambda 概念,例如如何使用 Lambda 事件对象将参数传递给函数。您还将学习如何从函数返回日志输出,以及如何在 CloudWatch Logs 中查看函数的调用日志。
为了简单起见,您可以使用 Python 或 Node.js 运行时系统创建函数。您可以使用这些解释性语言,在控制台的内置代码编辑器中直接编辑函数代码。如果使用 Java 和 C# 等编译语言,您需要在本地生成计算机上创建部署包并将其上传到 Lambda。要了解如何使用其他运行时系统将函数部署到 Lambda,请参阅 其他资源和后续步骤 一节中的链接。
提示
要了解如何构建无服务器解决方案,请查看无服务器开发人员指南。
先决条件
如果您还没有 Amazon Web Services 账户,请完成以下步骤来创建一个。
注册 Amazon Web Services 账户
按照屏幕上的说明进行操作。
在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。
当您注册 Amazon Web Services 账户时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
注册过程完成后,Amazon 会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/
注册 Amazon Web Services 账户 后,启用多重身份验证(MFA)保护您的管理用户。有关说明,请参阅 IAM 用户指南中的 为 IAM 用户启用虚拟 MFA 设备(控制台)。
要授予其他用户访问您的 Amazon Web Services 账户资源的权限,请创建 IAM 用户。为了保护您的 IAM 用户,请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。
有关创建和保护 IAM 用户的更多信息,请参阅《IAM 用户指南》中的以下主题:
使用控制台创建 Lambda 函数
在此示例中,函数采用一个 JSON 对象,其中包含两个标记有 "length"
和 "width"
的整数值。该函数将这些值相乘来计算区域,并将其作为 JSON 字符串返回。
函数还会输出计算区域及其 CloudWatch 日志组名称。在本教程的后面部分,您将学习使用 CloudWatch Logs 查看函数调用记录。
要创建函数,首先要使用控制台创建基本的 Hello world 函数。然后在下一步中,添加自己的函数代码。
使用控制台创建 Hello world Lambda 函数
打开 Lamba 控制台的 Functions page
(函数页面)。 -
选择 Create function(创建函数)。
-
选择从头开始编写。
-
在基本信息窗格中,为函数名称输入
。myLambdaFunction
-
对于运行时系统,选择 Node.js 20.x 或 Python 3.12
-
保留架构设置为 x86_64,然后选择创建函数。
Lambda 不仅创建了一个返回消息 Hello from Lambda!
的函数,还为函数创建了一个执行角色。执行角色是一个 Amazon Identity and Access Management(IAM)角色,用于向 Lambda 函数授予访问 Amazon Web Services 服务 和资源的权限。而 Lambda 为函数创建的角色用于授予写入 CloudWatch Logs 的基本权限。
现在,您可以使用控制台的内置代码编辑器,将 Lambda 创建的 Hello world 代码替换为自己的函数代码。
使用控制台调用 Lambda 函数
要使用 Lambda 控制台调用函数,首先要创建一个发送到函数的测试事件。该事件是包含两个键值对的 JSON 格式文档,其中键为 "length"
和 "width"
。
创建测试事件
-
在主侧栏中,展开测试事件部分,然后选择创建测试事件。
-
在创建新测试事件选项卡中,为事件名称 输入
myTestEvent
。 -
在事件 JSON 面板中,通过粘贴以下内容来替换默认值:
{ "length": 6, "width": 7 }
-
选择保存。
现在,您可以测试函数,并使用 Lambda 控制台和 CloudWatch Logs 来查看函数的调用记录。
测试函数并在控制台中查看调用记录
-
在主侧栏的测试事件部分,选择测试事件旁边的运行图标。函数完成运行后,执行结果选项卡中将显示响应和函数日志。您将看到类似以下内容的结果:
在此示例中,您通过控制台的测试功能调用代码。这意味着您可以直接在控制台中查看函数的执行结果。在控制台外部调用函数时,需要使用 CloudWatch Logs。
在 CloudWatch Logs 中查看函数的调用记录
-
打开 CloudWatch 控制台的 Log groups page
(日志组页面)。 -
选择函数 (
/aws/lambda/myLambdaFunction
) 的日志组。这是函数输出到控制台的日志组名称。 -
在日志流选项卡上,选择函数调用的日志流。
您应该可以看到类似于如下所示的输出内容:
清理
使用完示例函数后,请将其删除。您还可以删除存储函数日志的日志组以及控制台创建的执行角色。
要删除 Lambda 函数
打开 Lamba 控制台的 Functions page
(函数页面)。 -
选择函数。
-
依次选择 Actions(操作)和 Delete(删除)。
-
在 Delete function(删除函数)对话框中,输入 delete,然后选择 Delete(删除)。
删除日志组
-
打开 CloudWatch 控制台的 Log groups page
(日志组页面)。 -
选择函数的日志组 (
/aws/lambda/my-function
)。 -
依次选择 Actions(操作)和 Delete log group(s)(删除日志组)。
-
在 Delete log group(s)(删除日志组)对话框中,选择 Delete(删除)。
删除执行角色
-
打开 Amazon Identity and Access Management (IAM) 控制台的 Roles page
(角色页面)。 -
选择函数的执行角色(例如
myLambdaFunction-role-
)。31exxmpl
-
选择删除。
-
在 Delete role(删除角色)对话框中,输入角色名称,然后选择 Delete(删除)。
您可以使用 Amazon CloudFormation 和 Amazon Command Line Interface (Amazon CLI) 自动创建和清理函数、日志组和角色。
其他资源和后续步骤
现在,您已经使用控制台创建并测试了一个简单的 Lambda 函数,请继续执行以下步骤:
-
了解如何向代码添加依赖项并使用 .zip 部署包进行部署。从以下链接中选择您感兴趣的语言。
-
执行使用 Amazon S3 触发器调用 Lambda 函数教程,了解如何将 Lambda 函数配置为由其他 Amazon Web Services 服务 调用。
-
选择以下教程之一,查看将 Lambda 与其他 Amazon Web Services 服务 结合使用的更复杂示例。
-
利用 API Gateway 使用 Lambda:创建调用 Lambda 函数的 Amazon API Gateway REST API。
-
使用 Lambda 函数访问 Amazon RDS 数据库:使用 Lambda 函数通过 RDS 代理将数据写入 Amazon Relational Database Service(Amazon RDS)。
-
使用 Amazon S3 触发器创建缩略图:每次将图像文件上传到 Amazon S3 存储桶时,使用 Lambda 函数创建缩略图。
-