是否为AWS Lambda函数发布了维护的类型?

我在这里谈论的是定义一个函数来处理(来自lambda URL或API Gateway的)HTTP请求.我不是在谈论其他与AWS Lambda相关的API,比如由boto3公开的API.下面是一个我想要的函数类型的例子,摘自AWS的文档:

def lambda_handler(event, context):
    message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])
    return {
        'message' : message
    }

我想尽可能多地键入这样的函数--例如,context参数(请忽略这个简单的示例恰好不使用参数context的事实).

我知道AWS模式注册表为Event Bridge事件提供"绑定",但请注意,这个问题是关于调用lambdas来响应HTTP请求,而不是Event Bridge事件.

我还知道,例如,如果我将FastAPI与像Mangum这样的库一起使用,我就会获得类型.我将这个问题限制为仅使用"原生"AWS Lambda API(请参阅上面的示例代码).

我也知道我可以定义我自己的类型,但这里我问的是由AWS或第三方维护的类型.

推荐答案

看看Powertools for AWS Lambda个吧.

它包括LambdaContext的类型以及event sourcesdataclasses类型,如ALBEvent.

from aws_lambda_powertools.utilities.data_classes import ALBEvent
from aws_lambda_powertools.utilities.typing import LambdaContext


@event_source(data_class=ALBEvent)
def lambda_handler(lambda_event: ALBEvent, context: LambdaContext) -> dict[str, Any]:
    ...

Python相关问答推荐

在两极中实施频率编码

有没有方法可以修复删除了换码字符的无效的SON记录?

Pandas 第二小值有条件

使用numpy提取数据块

如何标记Spacy中不包含特定符号的单词?

运行Python脚本时,用作命令行参数的SON文本

有症状地 destruct 了Python中的regex?

pandas滚动和窗口中有效观察的最大数量

如何获取TFIDF Transformer中的值?

如何在虚拟Python环境中运行Python程序?

无法使用requests或Selenium抓取一个href链接

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

使用密钥字典重新配置嵌套字典密钥名

递归访问嵌套字典中的元素值

使用Python更新字典中的值

Asyncio:如何从子进程中读取stdout?

为什么\b在这个正则表达式中不解释为反斜杠

幂集,其中每个元素可以是正或负""""

使用字典或列表的值组合

在numpy数组中寻找楼梯状 struct