Lambda 入门
要开始使用 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 函数
在本入门练习中,请使用蓝图创建一个 Lambda 函数。蓝图提供了示例代码以尽量减少处理量。大多数蓝图会处理来自特定事件源的事件,例如来自 Amazon Simple Storage Service(Amazon S3)、Amazon DynamoDB 或自定义应用程序的事件。
使用控制台创建 Lambda 函数
打开 Lamba 控制台的函数页面
。 -
选择 Create function(创建函数)。
-
选择 Use a blueprint(使用一个蓝图)。
-
打开选择蓝图下拉列表并搜索 Hello world 函数。选择蓝图的
nodejs14.x
或python3.7
版本。 -
输入函数名称。
-
在 Execution Role(执行角色)中,选择 Create a new role with basic Lambda permissions(创建具有基本 Lambda 权限的新角色)。Lambda 创建执行角色,该角色授予函数上载日志到 Amazon CloudWatch 的权限。在您调用函数时,Lambda 函数担任执行角色,并使用该执行角色为Amazon软件开发工具包创建凭证和从事件源读取数据。
调用函数
要从控制台调用函数,请创建一个测试事件。
-
选择 Test(测试)选项卡。
-
在 Test event action(测试事件操作)下,选择 Create new event(创建新事件)。
-
对于 Event name(事件名称),输入测试事件的名称。
-
在 Event sharing settings(事件共享设置)下,选择 Private(私有)。
-
在 Template(模板)中,保留默认的 hello-world 选项。
-
在 Event JSON(事件 JSON)中,将
value1
替换为hello, world!
不要更改key1
或事件结构。示例:{ "key1": "
hello, world!
", "key2": "value2", "key3": "value3" } -
选择 Save(保存),然后选择 Test(测试)。Lambda 代表您调用函数。函数处理程序接收并处理示例事件。
-
查看 Execution result(执行结果)。在 Details(详细信息)下,您应该会看到在步骤 6 中输入的值:
"hello, world!"
。执行结果还包含以下信息:-
Summary(摘要)部分显示了调用日志中
REPORT
行的关键信息。 -
Log output(日志输出)部分显示了完整的调用日志。Lambda 会将所有调用日志写入 Amazon CloudWatch。
-
-
选择 Test(测试)以多调用函数几次并收集可在下一步骤中查看的附加指标。
-
选择 Monitor(监控)选项卡。此页面显示了 Lambda 发送到 CloudWatch 的指标的图表。
注意
函数调用后,日志可能需要 5 到 10 分钟才能显示。
有关这些图表的更多信息,请参阅 在 Lambda 控制台监控函数:
清除
如果您已完成使用此示例函数,请将其删除。您还可以删除存储函数日志的日志组以及控制台创建的执行角色。
要删除 Lambda 函数
打开 Lamba 控制台的函数页面
。 -
选择函数。
-
依次选择 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
(角色页面)。 -
选择函数的执行角色(例如
my-function-role-
)。31exxmpl
-
选择 Delete (删除)。
-
在 Delete role(删除角色)对话框中,输入角色名称,然后选择 Delete(删除)。
您可以使用 Amazon CloudFormation 和 Amazon Command Line Interface (Amazon CLI) 自动创建和清理函数、日志组和角色。有关功能齐全的示例应用程序,请参阅 Lambda 示例应用程序:
其他资源
创建第一个 Lambda 函数后,请尝试进行验证:
-
教程:使用 Amazon S3 触发器调用 Lambda 函数:使用 Lambda 控制台创建触发器,并且每次向 Amazon S3 存储桶添加对象时,该触发器都会调用您的函数。
-
教程:利用 API Gateway 使用 Lambda:创建调用 Lambda 函数的 Amazon API Gateway REST API。
-
教程:将 Amazon Lambda 用于计划的事件:将 Lambda 函数配置为每分钟运行一次。将 Amazon Simple Notification Service(Amazon SNS)配置为在函数返回错误时向您发送电子邮件。
要了解有关通过 Lambda 进行的无服务器应用程序开发的更多信息,请参阅以下内容:
-
Amazon在线技术讲座
YouTube 频道包含 Lambda 相关主题的视频。有关无服务器应用程序以及 Lambda 的概述,请参阅 Amazon Lambda 与无服务器应用程序简介视频 。
访问 Lambda
您可以使用以下任意接口创建、调用和管理 Lambda 函数:
-
Amazon 管理控制台 – 提供 Web 界面供您访问函数。有关更多信息,请参阅Lambda 控制台:
-
Amazon Command Line Interface (Amazon CLI) – 提供了适用于大量 Amazon 服务(包括 Lambda)的命令,并在 Windows、macOS 和 Linux 上受支持。有关更多信息,请参阅将 Lambda 与 Amazon CLI 结合使用:
-
Amazon开发工具包 – 提供特定于语言的 API 并管理许多连接详细信息,例如签名计算、请求重试处理和错误处理。有关更多信息,请参阅 Amazon 软件开发工具包
。 -
Amazon CloudFormation – 您可创建定义 Lambda 应用程序的模板。有关更多信息,请参阅Amazon Lambda 应用程序:Amazon CloudFormation 还支持 Amazon Cloud Development Kit (Amazon CDK)
。 -
Amazon Serverless Application Model (Amazon SAM) – 提供模板和 CLI 来配置和管理Amazon无服务器应用程序。有关更多信息,请参阅 Amazon SAM 入门。
编写和部署函数
下表列出了 Lambda 支持的语言以及可以与它们一起使用的工具和选项。可用的工具和选项取决于:
-
您用来编写 Lambda 函数代码的语言。
-
代码中使用的库。Lambda 运行时提供了一些库,您必须上载您使用的任何其他库。
语言 | 用于编写代码的工具和选项 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
您可以使用部署程序包将函数代码部署到 Lambda。Lambda 支持两种类型的部署程序包:
包含函数代码及其依赖项的 .zip 文件归档。
与 Open Container Initiative (OCI)
规范兼容的容器映像。