aws python lambda_AWS Lambda - Python中的函数

本文介绍如何在Python中创建AWS Lambda函数,包括配置、测试步骤及代码示例。详细讲解了Lambda函数的工作原理及其在AWS控制台的部署过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

教 程 目 录

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

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

步骤1

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

第2步

现在,单击创建功能按钮,然后输入在Python中创建简单AWS Lambda的详细信息.此代码返回消息使用Python从Lambda发送Hello,看起来如下所示 :

步骤3

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

步骤4

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

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

步骤5

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

Python的处理程序详细信息

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

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

现在,让我们使用以下示例代码&minus来理解Lambda函数的详细信息;def my_handler(event, context):

return "aws lambda in python using zip file"

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

Python中的上下文对象

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

上下文给出的表中显示了上下文对象可用的方法和属性;

1get_remaining_time_in_millis()

此方法给出剩余时间(以毫秒为单位),直到lambda函数终止函数Sr.No属性&说明

1function_name

这给出了aws lambda函数名称

2function_version

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

3invoked_function_arn

这将提供ARN详细信息.

4memory_limit_in_mb

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

5aws_request_id

这给出了aws请求ID.

6og_group_name

这将给出cloudwatch组名称的名称

7log_stream_name

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

8identity

这将提供有关亚马逊的详细信息与aws mobile sdk一起使用时的cognito身份提供者.给出的详细信息如下 :identity.cognito_identity_id

identity.cognito_identity_pool_id

9client_context

这将与aws mobile sdk一起使用时提供客户端应用程序的详细信息.给出的详细信息如下 :client_context.client.installation_id

client_context.client .app_title

client_context.client.app_version_name

client_context.client.app_version_code

client_context.client.app_package_name

client_context.custom  - 它具有来自移动客户端应用程序的自定义值的字典

client_context.env  - 它具有来自AWS的环境详细信息移动SDK

让我们看一下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!')

日志显示如图所示 :

相关新手教程:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值