使用 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 |
|
boto3-1.20.32 botocore-1.23.32 |
Amazon Linux 2 |
x86_64,arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.8 |
|
boto3-1.20.32 botocore-1.23.32 |
Amazon Linux 2 |
x86_64,arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.7 |
|
boto3-1.20.32 botocore-1.23.32 |
Amazon Linux |
x86_64 |
此表中的运行时信息会持续更新。有关在 Lambda 中使用 Amazon SDK 的更多信息,请参阅管理 Lambda 函数中的 Amazon SDK。
Lambda 函数使用执行角色获得将日志写入 Amazon CloudWatch Logs 以及访问其他服务和资源的权限。如果您还没有函数开发的执行角色,请创建一个。
创建执行角色
-
在 IAM 控制台中,打开 Roles(角色)页面
。 -
选择 Create role(创建角色)。
-
创建具有以下属性的角色。
-
Trusted entity(可信任的实体)– Lambda。
-
Permissions(权限)– AWSLambdaBasicExecutionRole。
-
Role name(角色名称)–
lambda-role
。
AWSLambdaBasicExecutionRole 策略具有函数将日志写入 CloudWatch Logs 所需的权限。
-
您可以稍后向此角色添加权限,或将其与特定于单一函数的其他角色交换。
创建 Python 函数
-
打开 Lambda 控制台
。 -
选择 Create function(创建函数)。
-
配置以下设置:
-
名称 –
my-function
. -
运行时 – Python 3.9。
-
Role(角色)– Choose an existing role(选择现有角色)。
-
Existing role(现有角色)–
lambda-role
。
-
-
选择 Create function(创建函数)。
-
要配置测试事件,请选择测试。
-
对于事件名称,输入
test
。 -
选择 Save changes(保存更改)。
-
要调用该函数,请选择 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 将为错误设置格式,并将其返回给调用方。