AWS SDK V3 + TypeScript 下Lambda处理器签名如何定义?
AWS Lambda TypeScript 强类型处理器配置(SDK V3兼容)
AWS SDK for JavaScript V3 本身不包含 Lambda 事件、上下文及返回结果的 TypeScript 类型定义,这些类型需要通过单独的类型包获取:
- 安装类型依赖
执行以下命令安装社区维护的 Lambda 类型包:
npm install --save-dev @types/aws-lambda # 或使用 yarn yarn add -D @types/aws-lambda # 或使用 pnpm pnpm add -D @types/aws-lambda
- 导入并使用强类型
从安装的包中直接导入所需类型,替换原 V2 风格的类型引用即可,示例代码如下:
import { APIGatewayEvent, Context, APIGatewayProxyResult } from '@types/aws-lambda'; export const lambdaHandler = async ( event: APIGatewayEvent, context: Context ): Promise<APIGatewayProxyResult> => { return { statusCode: 200, body: JSON.stringify({ message: 'hello world', }), }; };
- 其他事件类型支持
该类型包覆盖了几乎所有 Lambda 触发源的事件类型,比如 S3 触发的S3Event、DynamoDB 流触发的DynamoDBStreamEvent等,均可直接从@types/aws-lambda中导入使用。
内容的提问来源于stack exchange,提问作者Damien Sawyer
相关产品推荐
相关产品推荐

