使用 Python 构建 Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Python 构建 Lambda 函数

您可以在 Amazon Lambda 中运行 Python。Lambda 为 Python 提供运行时运行您的代码来处理事件。您的代码在包含 SDK for Python (Boto3) 的环境中运行,其中包含来自您管理的 Amazon Identity and Access Management (IAM) 角色的凭证。

Lambda 支持以下 Python 运行时。

Python
名称 标识符 SDK 操作系统 架构 弃用(阶段 1)

Python 3.9

python3.9

boto3-1.20.32 botocore-1.23.32

Amazon Linux 2

x86_64,arm64

Python 3.8

python3.8

boto3-1.20.32 botocore-1.23.32

Amazon Linux 2

x86_64,arm64

Python 3.7

python3.7

boto3-1.20.32 botocore-1.23.32

Amazon Linux

x86_64

此表中的运行时信息会持续更新。有关在 Lambda 中使用 Amazon SDK 的更多信息,请参阅管理 Lambda 函数中的 Amazon SDK

Lambda 函数使用执行角色获得将日志写入 Amazon CloudWatch Logs 以及访问其他服务和资源的权限。如果您还没有函数开发的执行角色,请创建一个。

创建执行角色
  1. 在 IAM 控制台中,打开 Roles(角色)页面

  2. 选择 Create role(创建角色)。

  3. 创建具有以下属性的角色。

    • Trusted entity(可信任的实体)– Lambda

    • Permissions(权限)– AWSLambdaBasicExecutionRole

    • Role name(角色名称)– lambda-role

    AWSLambdaBasicExecutionRole 策略具有函数将日志写入 CloudWatch Logs 所需的权限。

您可以稍后向此角色添加权限,或将其与特定于单一函数的其他角色交换。

创建 Python 函数
  1. 打开 Lambda 控制台

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

  3. 配置以下设置:

    • 名称my-function.

    • 运行时Python 3.9

    • Role(角色)– Choose an existing role(选择现有角色)。

    • Existing role(现有角色)– lambda-role

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

  5. 要配置测试事件,请选择测试

  6. 对于事件名称,输入 test

  7. 选择 Save changes(保存更改)。

  8. 要调用该函数,请选择 Test(测试)。

控制台将使用名为 lambda_function 的源文件创建一个 Lambda 函数。您可以在内置代码编辑器中编辑此文件并添加更多文件。要保存您的更改,请选择 Save(保存)。然后,要运行代码,请选择 Test(测试)。

注意

Lambda 控制台使用 Amazon Cloud9 在浏览器中提供集成开发环境。您还可以使用 Amazon Cloud9 在您自己的环境中开发 Lambda 函数。有关更多信息,请参阅 Amazon Cloud9 用户指南中的使用 Lambda 函数

注意

要在本地环境中开始应用程序开发,请部署本指南的 GitHub 存储库中提供的其中一个示例应用程序。

Python 中的示例 Lambda 应用程序
  • blank-python – 一个 Python 函数,用于显示日志记录、环境变量、Amazon X-Ray 跟踪、层、单元测试和Amazon开发工具包的使用情况。

您的 Lambda 函数附带了 CloudWatch Logs 日志组。函数运行时会将每次调用的详细信息发送到 CloudWatch Logs。该运行时会中继调用期间函数输出的任何日志。如果您的函数返回错误,则 Lambda 将为错误设置格式,并将其返回给调用方。