You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否存在受维护的AWS Lambda HTTP请求处理函数mypy类型?

AWS/第三方维护的Lambda HTTP请求事件与上下文的Mypy类型定义

可用的维护类型包

目前有一个被广泛使用且维护活跃的第三方包 types-aws-lambda,它提供了Lambda函数各种事件源(包括Lambda URL、API Gateway HTTP/REST API)的类型定义,同时也包含Lambda上下文的类型。这个包并非AWS官方维护,但社区活跃度高,会跟随AWS的事件结构更新同步迭代。

安装与使用步骤

  1. 安装包
    执行以下命令安装类型包:

    pip install types-aws-lambda
    
  2. 类型注解示例
    根据你的事件源类型(Lambda URL或API Gateway)选择对应的事件类型:

    • 对于Lambda URL或API Gateway HTTP API v2请求,使用 APIGatewayV2HTTPRequestEvent
    • 对于API Gateway REST API请求,使用 APIGatewayProxyRequestEvent
    • 上下文参数统一使用 LambdaContext

    以下是适配Lambda URL的注解示例(假设first_name和last_name来自请求体的JSON数据):

    from aws_lambda_typing.events import APIGatewayV2HTTPRequestEvent
    from aws_lambda_typing.context import LambdaContext
    import json
    
    def lambda_handler(event: APIGatewayV2HTTPRequestEvent, context: LambdaContext):
        # 解析请求体中的JSON数据
        body = json.loads(event.get("body", "{}"))
        message = 'Hello {} {}!'.format(body.get("first_name"), body.get("last_name"))
        return {
            'statusCode': 200,
            'body': json.dumps({'message': message})
        }
    

    如果你的示例中first_name直接来自事件顶层(这种情况更常见于自定义事件而非标准HTTP请求),但针对标准HTTP事件结构,上述示例更符合实际场景。

注意事项

  • 该包涵盖了Lambda所有主流事件源的类型定义,无需自行编写类型
  • 类型定义严格匹配AWS官方的事件结构文档,确保类型检查的准确性
  • 包会定期更新,以适配AWS对事件结构的调整

内容的提问来源于stack exchange,提问作者Croad Langshan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 14:43:33