Lambda 入门 - AWS Lambda

Lambda 入门

要开始使用 Lambda,请使用 Lambda 控制台创建函数。在几分钟的时间内,您可以创建一个函数,调用它,然后查看日志、指标和追踪数据。

注意

要使用 Lambda 和其他AWS服务,您需要一个AWS账户。如果您没有账户,请访问 aws.amazon.com,然后选择 Create an AWS Account(创建亚马逊云科技账户)。有关说明,请参阅如何创建和激活新的 AWS 账户?

作为最佳实践,请创建一个具有管理员权限的 AWS Identity and Access Management (IAM) 用户,然后在不需要根凭证的所有工作中使用该 IAM 用户。创建密码以用于访问控制台,并创建访问密钥以使用命令行工具。有关说明,请参阅 IAM 用户指南中的创建您的首个 IAM 管理员用户和组

您可以在 Lambda 控制台中编写函数,也可以使用 IDE 工具包、命令行工具或AWS软件开发工具包编写函数。Lambda 控制台为非编译语言提供了代码编辑器,使您可以快速修改和测试代码。您可使用 AWS Command Line Interface (AWS CLI) 直接访问 Lambda API 以获取高级配置和自动化使用案例。

您可以使用部署程序包将函数代码部署到 Lambda。Lambda 支持两种类型的部署程序包:

使用控制台创建 Lambda 函数

在本入门练习中,您将使用控制台创建一个 Lambda 函数。该函数使用 Lambda 创建的默认代码。Lambda 控制台为非编译语言提供了代码编辑器,使您可以快速修改和测试代码。对于编译的语言,您必须创建 .zip 归档部署包才能上传 Lambda 函数代码。

创建函数

您将使用 Lambda 控制台创建一个 Node.js Lambda 函数。Lambda 会自动为函数创建默认代码。

使用控制台创建 Lambda 函数

  1. 打开 Lamba 控制台的 Functions page(函数页面)。

  2. 选择 Create function(创建函数)。

  3. Basic information(基本信息)中,执行以下操作:

    1. 对于 Function name(函数名称),请输入 my-function

    2. 对于运行时,请确认已选择 Node.js 14.x。请注意,Lambda 为 .NET (PowerShell,C#)、Go、Java、Node.js、Python 和 Ruby 提供运行时。

  4. 选择 Create function(创建函数)。

Lambda 创建 Node.js 函数和执行角色,该角色授予函数上载日志的权限。在您调用函数时,Lambda 函数担任执行角色,并使用该执行角色为AWS软件开发工具包创建凭证和从事件源读取数据。

调用 Lambda 函数

使用控制台中提供的示例事件数据调用 Lambda 函数。

调用函数

  1. 选择函数后,选择 Test(测试)选项卡。

  2. Test event(测试事件)部分中,选择 New event(新事件)。在 Template(模板)中,保留默认的 hello-world 选项。输入此测试的 Name(名称)并记录以下示例事件模板:

    { "key1": "value1", "key2": "value2", "key3": "value3" }
  3. 选择 Save changes(保存更改),然后选择 Test(测试)。每个用户每个函数可以创建最多 10 个测试事件。这些测试事件不适用于其他用户。

    Lambda 代表您运行函数。函数处理程序接收并处理示例事件。

  4. 成功完成后,在控制台中查看结果。

    • Execution result(执行结果)显示执行状态为 succeeded(已成功)。展开 Details(详细信息)以查看函数执行结果。请注意,logs(日志)链接将在 CloudWatch 控制台中打开 Log groups(日志组)页面。

    • Summary(总结)部分显示在 Log output(日志输出)部分中报告的密钥信息(执行日志中的 REPORT 行)。

    • Log output部分显示 Lambda 针对每次调用生成的日志。该函数会将这些日志写入 CloudWatch。为方便起见,Lambda 控制台会为您显示这些日志。选择 Click here(单击此处)可将日志添加到 CloudWatch 日志组,然后在 CloudWatch 控制台中打开 Log groups(日志组)页面。

  5. 再运行函数(选择 Test(测试))几次可收集在下一步骤中可查看的一些指标。

  6. 选择 Monitor(监控)选项卡。此页面显示了 Lambda 发送到 CloudWatch 的指标的图表。

    有关这些图表的更多信息,请参阅 在 Lambda 控制台监控函数

清除

如果您已完成使用此示例函数,请将其删除。您还可以删除存储函数日志的日志组以及控制台创建的执行角色。

要删除 Lambda 函数

  1. 打开 Lamba 控制台的 Functions page(函数页面)。

  2. 选择函数。

  3. 依次选择 Actions(操作)和 Delete(删除)。

  4. Delete function(删除函数)对话框中,选择 Delete(删除)。

删除日志组

  1. 打开 CloudWatch 控制台的 Log groups page(日志组页面)。

  2. 选择函数的日志组 (/aws/lambda/my-function)。

  3. 依次选择 Actions(操作)和 Delete log group(s)(删除日志组)。

  4. Delete log group(s)(删除日志组)对话框中,选择 Delete(删除)。

删除执行角色

  1. 打开 AWS Identity and Access Management (IAM) 控制台的 Roles page(角色页面)。

  2. 选择函数的角色 (my-function-role-31exxmpl)。

  3. 选择 Delete role(删除角色)。

  4. Delete role(删除角色)对话框中,选择 Yes, delete(是的,删除)。

您可以使用 AWS CloudFormation 和 AWS Command Line Interface (AWS CLI) 自动创建和清理函数、日志组和角色。有关功能齐全的示例应用程序,请参阅 Lambda 示例应用程序