当前位置: 首页 > 云服务器

使用 Python 构建AWS Lambda 函数

时间:2026-01-29 14:44:07

在本章中,我们将在 Python 中创建一个简单的 AWS Lambda 函数,并详细了解其工作概念。

在继续在 AWS 中创建 Lambda 函数之前,我们需要 AWS 工具包支持 Python。为此,请按照下面给出的步骤并观察所附的相应屏幕截图

步骤 1

登录 AWS 控制台并创建 Lambda 函数并选择语言为 Python。

步骤 2

现在,单击创建函数按钮并输入在 Python 中创建简单 AWS Lambda 的详细信息。此代码返回消息Hello fr Lambda using Python并如下所示

步骤 3

现在,保存更改并测试代码以查看输出。当您使用 UI 中的测试按钮在 AWS 控制台中对其进行测试时,您应该会看到以下输出和日志。

步骤 4

现在,您可以在任何编辑器或 Python IDE 中编写代码。在这里,我们使用 Visual Studio 代码来编写代码。您应该稍后压缩文件并上传到 AWS 控制台。

在这里,我们压缩了代码并使用了 AWS 控制台。

步骤 5

现在,选择上传 .ZIP 文件选项,如下所示

Python 的处理程序详细信息

请注意,处理程序必须是文件名,后跟函数名。在上面的例子中,我们的文件名是hellopython.py,函数名是my_handler;,所以处理程序是hellopython.my_handler。

上传完成并保存更改后,它实际上会在 AWS Lambda 控制台的在线编辑器中显示 zip 文件的详细信息。现在,让我们测试代码以查看输出和日志。

现在,让我们使用以下示例代码了解 Lambda 函数的详细信息

def my_handler(event, context):
return "aws lambda in python using zip file"

在上面的代码中,函数名 my_handler 有 2 个参数,事件和上下文。

Python 中的上下文对象

上下文对象提供了诸如 Lambda 函数名称、剩余时间(以毫秒为单位)、请求 ID、云监视组名称、超时详细信息等详细信息。

上下文对象上可用的方法和属性如下表所示

Sr.No

方法名称和描述

1

get_remaining_time_in_millis()

此方法以毫秒为单位给出剩余时间,直到 lambda 函数终止函数

Sr.No

属性和描述

1

function_name

这给出了 aws lambda 函数名

2

function_version

这里给出了 aws lambda 函数执行的版本

3

invoked_function_arn

这将提供 ARN 详细信息。

4

memory_limit_in_mb

这显示了创建 lambda 函数时添加的内存限制

5

aws_request_id

这给出了 aws 请求 ID。

6

og_group_name

这将给出cloudwatch组的名称

7

log_stream_name

这将给出写入日志的 cloudwatch 日志流名称。

8

identity

当与 aws mobile sdk 一起使用时,这将提供有关 amazon cognito 身份提供商的详细信息。给出的详细信息如下

identityognito_identity_ididentityognito_identity_pool_id

9

client_context

这将是与 aws mobile sdk 一起使用时客户端应用程序的详细信息。给出的细节如下

client_contextlient.installation_lient_contextlient.app_titleclient_contextlient.app_version_nameclient_contextlient.app_version_codeclient_contextlient.app_package_nameclient_contextust它具有来自移动客户端应用程序的自定义值的字典client_context.env它包含来自 AWS 移动开发工具包的环境详细信息

让我们看一个 Python 中的工作示例,该示例输出上下文详细信息。观察下面给出的代码

def my_handler(event, context):
print("Log stream name:", context.log_stream_name)
print("Log group name:", context.log_group_name)
print("Request ID:",context.aws_request_id)
print("Mem. limits(MB):", context.memory_limit_in_mb)
print("Time remaining (MS):", context.get_remaining_time_in_millis())
return "aws lambda in python using zip file"

上面显示的代码的相应输出如下

使用 Python 进行日志记录

要使用 Python 记录信息,我们可以使用可用的打印或记录器功能。让我们使用上面的上下文示例并检查 inCloudWatch 以查看是否打印了日志。观察以下代码

def my_handler(event, context):
print("Log stream name:", context.log_stream_name)
print("Log group name:", context.log_group_name)
print("Request ID:",context.aws_request_id)
print("Mem. limits(MB):", context.memory_limit_in_mb)
print("Time remaining (MS):", context.get_remaining_time_in_millis())
return "aws lambda in python using zip file"

此代码在 CloudWatch 中的输出如下所示

观察以下示例以了解如何使用记录器将日志打印到 CloudWatch

import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def my_handler(event, context):
logger.info("Using logger to print messages to cloudwatch logs")
return "aws lambda in python using zip file"

此输出将如下面的屏幕截图所示

Python 中 Lambda 函数的错误处理

在本节中,让我们看一个演示如何在 Python 中处理错误的工作示例。观察这里给出的一段代码

def error_handler(event, context):
raise Exception("Error Occured!")

日志显示如下图所示

作为AWS核心代理商,选择天.下.数.据的优势

1、专属客服协助注册AWS,或提供注册好的账号直接使用

2、支持收U等多币种支付代付,无额外服务费用

AWS多种产品类型,更高产品租赁权限

针对大客户,AWS专属折扣优惠

5、7x24小时专属客服,在线解答各种疑问

AWS亚马逊云代理商哪家好?推荐找,可享受高额折扣、高额返现优惠,电话40 02023/aws


上一篇:亚马逊服务器代付哪些意思,aws代付服务费比例是多少
下一篇:深圳亚马逊云AWS代理商:领先的云计算解决方案服务商
python AWSLambda Lambda函数
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素