Aws lambda 无法确定AWS Lambda serverless函数的事件类型

Aws lambda 无法确定AWS Lambda serverless函数的事件类型,aws-lambda,serverless-framework,serverless,aws-serverless,Aws Lambda,Serverless Framework,Serverless,Aws Serverless,我有一个非常简单的处理程序,用来熟悉无服务器lambda函数 const示例:APIGatewayProxyHandler=异步事件=>{ log(JSON.stringify(event,null,2)); 返回{ 状态代码:200, 正文:JSON.stringify({ 信息:“成功”, }), }; }; 这是我的serverless.yml文件: service: lambda-example frameworkVersion: '2' provider: name: aws

我有一个非常简单的处理程序,用来熟悉无服务器lambda函数

const示例:APIGatewayProxyHandler=异步事件=>{
log(JSON.stringify(event,null,2));
返回{
状态代码:200,
正文:JSON.stringify({
信息:“成功”,
}),
};
};
这是我的serverless.yml文件:

service: lambda-example
frameworkVersion: '2'

provider:
  name: aws
  runtime: nodejs12.x

plugins:
  - serverless-offline

functions:
  example:
    handler: lib/handler.example
    events:
      - http:
          path: example
          method: get
          integration: lambda
当我点击API时,它工作得很好

{
状态代码:200,
正文:“{”消息“:“成功”}”
}
我正在使用此URL触发事件
http://localhost:3000/dev/example?url=https://google.com/
当端点被击中时,我正在控制台上记录事件本身

{
“机构”:{},
“方法”:“获取”,
“principalId”:“离线上下文\授权人\ principalId”,
“阶段”:“开发”,
“cognitoPoolClaims”:{
“sub”:”
},
“增强DauthContext”:{
“principalId”:“离线上下文\授权人\ principalId”
},
“标题”:{
“主机”:“本地主机:3000”,
“连接”:“保持活动状态”,
“缓存控制”:“最大年龄=0”,
“升级不安全请求”:“1”,
“用户代理”:“Mozilla/5.0(Macintosh;英特尔Mac OS X 10_15_7)AppleWebKit/537.36(KHTML,如Gecko)Chrome/86.0.4240.111 Safari/537.36”,
“接受”:“text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed exchange;v=b3;q=0.9”,
“Sec获取站点”:“无”,
“秒获取模式”:“导航”,
“Sec Fetch用户”:“1”,
“Sec Fetch Dest”:“document”,
“接受编码”:“gzip,deflate,br”,
“接受语言”:“en-US,en;q=0.9,la;q=0.8”
},
“查询”:{
“url”:”https://google.com/"
},
“路径”:{},
“身份”:{
“accountId”:“脱机上下文\u accountId”,
“apiKey”:“脱机上下文\u apiKey”,
“apiKeyId”:“脱机上下文\u apiKeyId”,
“调用者”:“离线上下文\调用者”,
“cognitoAuthenticationProvider”:“offlineContext\u cognitoAuthenticationProvider”,
“cognitoAuthenticationType”:“offlineContext\u cognitoAuthenticationType”,
“sourceIp”:“127.0.0.1”,
“用户”:“离线上下文用户”,
“用户代理”:“Mozilla/5.0(Macintosh;英特尔Mac OS X 10_15_7)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/86.0.4240.111 Safari/537.36”,
“userArn”:“脱机上下文\u userArn”
},
“阶段变量”:{},
“请求路径”:“/示例”
}
我对访问这个对象的'query'属性很感兴趣,但是当我尝试时,TypeScript对我很生气

console.log(event.query);

===

Property 'query' does not exist on type 'APIGatewayProxyEvent'.
查询属性非常明显地存在于事件对象上,如控制台日志中所示,因此我假设键入的函数不正确,但似乎找不到正确的类型。我做错了什么

其他信息(package.json):

“依赖项”:{
“axios”:“^0.21.0”,
“干杯”:“^1.0.0-rc.3”
},
“依赖性”:{
“@types/aws lambda”:“^8.10.64”,
“@types/cheerio”:“^0.22.22”,
“@types/node”:“^14.14.2”,
“@typescript eslint/eslint插件”:“^4.5.0”,
“@typescript eslint/parser”:“^4.5.0”,
“eslint”:“^7.12.0”,
“eslint配置美观”:“^6.14.0”,
“哈士奇”:“^4.3.0”,
“更漂亮”:“^2.1.2”,
“漂亮插件组织导入”:“^1.1.1”,
“无服务器dotenv插件”:“^3.1.0”,
“无服务器脱机”:“^6.8.0”,
“类型脚本”:“^4.0.3”
}

原来问题出在

integration: lambda
添加到我的serverless.yml文件。当我删除这一行时,
APIGatewayProxyHandler
接口按预期工作