AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用控制台创建 Lambda 函数

在本入门练习中,您首先将使用 AWS Lambda 控制台创建一个 Lambda 函数。接下来,您将使用示例事件数据手动调用 Lambda 函数。AWS Lambda 将执行 Lambda 函数并返回结果。然后,您将验证执行结果,包括您的 Lambda 函数已创建的日志和各种 CloudWatch 指标。

在执行这些步骤时,您还将熟悉 AWS Lambda 控制台,包括:

  • 探索蓝图。每个蓝图均提供了示例代码和示例配置,让您只需单击几下即可创建 Lambda 函数。

  • 查看和更新您的 Lambda 函数的配置信息。

  • 手动调用 Lambda 函数并在 Execution results 部分中探索结果。

  • 在控制台中监控 CloudWatch 指标。

按照此部分中的步骤创建简单的 Lambda 函数。

创建 Lambda 函数

  1. 登录 AWS 管理控制台并打开 AWS Lambda 控制台。

  2. 请注意,AWS Lambda 在推出时在 How it works (使用方法) 标签下方提供了一个简单的 Hello World 函数,并且包含一个 Run (运行) 选项,使您可以通过一般方式调用该函数。此教程介绍了其他一些选项,您在创建、测试和更新您的 Lambda 函数以及 Lambda 控制台提供的其他功能时可以使用这些选项;此外提供了指向每个选项的链接,可让您深入地探索每个选项。

    选择 Get Started 部分下方的 Create a function 以继续。

    注意

    仅当您尚未创建任何 Lambda 函数时,控制台才显示 Get Started (开始使用) 页面。如果您已创建函数,则会看到 Lambda > Functions 页面。在该列表页面上,选择创建函数以转到创建函数页面。

  3. 创建函数页面上,选择 Author from scratch

  4. Author from scratch 中,执行以下操作:

    • Name* (文件名*) 中,指定您的 Lambda 函数的名称。

    • 运行时* 中,选择 Python 3.7

    • Role* (角色*) 中,选择 Create new role from template(s): (从模板创建新角色:)

    • Role name* 中,输入角色的名称。

    • Policy templates 字段留空。对于此简介,您的 Lambda 函数将具有必要的执行权限。

      注意

      要想深入地了解 AWS Lambda 的安全策略,请参阅 AWS Lambda 权限

    • 选择创建函数

  5. Add triggers (添加触发器) 面板中,您可以选择性地通过选择列出的服务选项之一,来选择某个自动触发您的 Lambda 函数的服务。

    根据所选择的服务,系统会提示您为该服务提供相关信息。例如,如果选择 DynamoDB,则您需要提供以下信息:

    • DynamoDB 表的名称

    • 批处理大小

    • 起始位置

    在此示例中,不要配置触发器。

    • Function code (函数代码) 中,注意代码已提供。它会返回简单的“Hello Lambda”问候语。

    • 处理程序显示 lambda_function.lambda_handler 值。它是 filename.handler-function。控制台将示例代码保存在 lambda_function.py 文件中,而在该代码中,lambda_handler 是调用 Lambda 函数时将事件作为参数接收的函数名称。有关更多信息,请参阅Python 中的 AWS Lambda 函数处理程序

    • 请注意嵌入式 IDE (集成开发环境)。要了解更多信息,请参阅“使用 AWS Lambda 控制台编辑器创建函数”。

  6. 此页面上的其他配置选项包括:

    • Environment variables (环境变量) – 用于 Lambda 函数,使您可以动态地将设置传递到函数代码和库,而无需更改代码。有关更多信息,请参阅AWS Lambda 环境变量

    • Tags (标签) – 您附加到 AWS 资源的键值对,以便更好地组织资源。有关更多信息,请参阅标记 Lambda 函数

    • Execution role (执行角色) – 允许您通过使用定义的角色和策略或创建新的角色和策略来管理函数的安全性。有关更多信息,请参阅AWS Lambda 权限

    • Basic settings (基本设置) – 允许您指明 Lambda 函数的内存分配和超时限制。有关更多信息,请参阅AWS Lambda 限制

    • Network (网络) – 允许您选择函数要访问的 VPC。有关更多信息,请参阅配置 Lambda 函数以访问 Amazon VPC 中的资源

    • Debugging and error handling (调试和错误处理) – 允许您选择 AWS Lambda 函数死信队列 资源来分析失败的函数调用重试。此外,它还允许您启用活动跟踪。有关更多信息,请参阅使用 AWS X-Ray

    • Concurrency (并发) – 允许您为此函数分配特定的并发执行限制。有关更多信息,请参阅函数级别并发执行数限制

    • Auditing and compliance (审计与合规性) – 记录函数调用以用于运营和风险审核、治理和合规性目的。有关更多信息,请参阅配合使用 AWS Lambda 和 AWS CloudTrail

调用 Lambda 函数并验证结果、日志和指标

按照以下步骤,使用控制台中提供的示例事件数据调用 Lambda 函数。

  1. yourfunction 页面上,选择 Test

  2. Configure test event 页面中,选择 Create new test event,并且在 Event template 中,保留默认的 Hello World 选项。输入 Event name 并记录以下示例事件模板:

    { "key3": "value3", "key2": "value2", "key1": "value1" }

    可以更改示例 JSON 中的键和值,但不要更改事件结构。如果您更改任何键和值,则必须相应更新示例代码。

    注意

    如果您选择删除测试事件,请转至 Configure test event (配置测试事件) 页面,然后选择 Delete (删除)

  3. 选择 Create (创建),然后选择 Test (测试)。每个用户每个函数可以创建最多 10 个测试事件。这些测试事件不适用于其他用户。

  4. AWS Lambda 代表您执行您的函数。您的 Lambda 函数中的 handler 接收并处理示例事件。

  5. 成功执行后,在控制台中查看结果。

    • Execution result 部分将执行状态显示为 succeeded,还将显示由 return 语句返回的函数执行结果。

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

    • Log output 部分显示 AWS Lambda 针对每次执行生成的日志。这些是由 Lambda 函数写入到 CloudWatch 的日志。为方便起见,AWS Lambda 控制台为您显示了这些日志。

    注意:Click here 链接在 CloudWatch 控制台中显示日志。然后,该函数在与 Lambda 函数对应的日志组中向 Amazon CloudWatch 添加日志。

  6. 运行 Lambda 函数几次以收集您可在下一个步骤中查看的一些指标。

  7. 选择 Monitoring。此页面显示了 Lambda 发送到 CloudWatch 的指标的图表。

    有关这些图表的更多信息,请参阅访问 AWS Lambda 的 Amazon CloudWatch 指标