AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

步骤 2.1:创建 Hello World Lambda 函数

按照本节中的步骤创建 Hello World Lambda 函数。在本步骤中,您将执行以下操作:

  • 选择蓝图 – 在本练习中,您将使用 hello-world-python 蓝图。它提供了用 Python 编写的示例代码。用于 Lambda 函数的语言对本练习并不重要。您稍后可以采用任何支持的语言创建自己的 Lambda 函数。

    蓝图提供了用来执行一些最小的处理的示例代码。大多数蓝图处理来自特定事件源(如 Amazon S3、DynamoDB 或自定义应用程序)的事件。例如,如果您选择 s3-get-object 蓝图,它将提供示例代码,该代码可处理由 Amazon S3 发布并由 Lambda 作为参数接收的对象创建事件。

  • 配置函数 – 由于您为本练习选择了一个蓝图,因此控制台将会预填充一些配置信息。例如,控制台将预配置 Python 3.6 或 Python 2.7 作为运行时、提供示例代码、标识代码示例中的处理程序和提供其他配置信息 (如内存和超时)。有关配置函数的更多信息,请参阅 Lambda 函数。有关函数配置参数的更多信息,请参阅 CreateFunction

    您还将创建具有必要权限的 IAM 角色(称为执行角色),AWS Lambda 可代入该角色来代表您调用 Lambda 函数。

创建 Hello World Lambda 函数

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

  2. 选择 Get Started Now

    注意

    仅当您尚未创建任何 Lambda 函数时,控制台才显示 Get Started Now 页面。如果您已创建函数,则会看到 Lambda > Functions 页面。在该列表页面上,选择 Create a Lambda function 转到 Lambda > New function 页面。

  3. Select blueprint 页面上,首先探索可用蓝图。然后,您将为本入门练习选择特定蓝图。

    1. 审查蓝图。您还可以使用 Filter 来搜索特定蓝图。例如:

      • Filter 中输入 S3 以仅获取处理 Amazon S3 事件的可用蓝图的列表。

      • Filter 中输入 dynamodb 以获取处理 Amazon DynamoDB 事件的可用蓝图的列表。

    2. 对于本入门练习,请在 Filter 中输入 hello-world-python,然后选择 hello-world-python 蓝图。

  4. Basic information 中,执行以下操作:

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

    • Role* 中,选择 Create new role from template(s)

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

    • Policy templates 中,Lambda 提供可选模板的列表,在您选中一个模板时,将自动创建角色,该角色具有附加到该策略的必需权限。有关 Policy templates 的列表,请参阅策略模板。出于本教程的学习目的,您可以将此字段留空,因为您的 Lambda 函数已经具有所需的基本执行权限。

    • 选择 Create function

  5. Lambda function code 部分的 Configuration 下,请注意以下方面

    • Runtime 是 Python 2.7

    • 提供了用 Python 编写的代码。它读取传入的事件数据并将其中一些信息记录到 CloudWatch。

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

  6. 选择 Triggers 选项卡。在 Triggers 页面下面,(可选) 您可以通过选择 Add trigger 按钮,然后选择带有省略号 (...) 的灰色框显示可用服务列表,来自动触发您的 Lambda 函数。

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

      • DynamoDB 表的名称

      • 批处理大小

      • 起始位置

    2. 对于这个示例,请勿配置触发器并选择 Monitoring 选项卡。

    .

  7. Monitoring 页面将为您的 Lambda 函数调用提供即时 CloudWatch 指标,以及指向其他实用指南的链接,包括 基于 Lambda 的应用程序问题排查

  8. 选择 Configuration 选项卡,然后记下控制台中的其他选项卡:

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

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

    • Execution role – 允许您通过使用定义的角色和策略或创建新的角色和策略来管理函数的安全性。有关更多信息,请参阅 AWS Lambda 的身份验证和访问控制

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

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

    • Debugging and error handling – 允许您选择 死信队列 资源来分析失败的函数调用重试。此外,它还允许您启用活动跟踪。有关更多信息,请参阅 基于 Lambda 的应用程序问题排查

下一步

步骤 2.2:手动调用 Lambda 函数并验证结果、日志和指标