Api网关仍指向旧的lambda

问题描述 投票:0回答:1

我有一个带websocket的API网关

  WebSocket:
    Type: AWS::ApiGatewayV2::Api
    Properties:
      ProtocolType: WEBSOCKET
      RouteSelectionExpression: "$request.body.action"
      Name: !Sub ${Appname}-${Environment}

  WebSocketStage:
    Type: AWS::ApiGatewayV2::Stage
    Properties:
      StageName: !Ref Environment
      AutoDeploy: true
      ApiId: !Ref WebSocket

[之前,我在API上附加了一个函数onConnect,但是由于我发现它不是必需的,因此我从Cloudformation堆栈中删除了它。但是现在我的Websocket不再工作了。

我为API网关启用了Cloudwatch日志,并且发现路由onConnect仍指向旧的lambda,该lambda不再存在


2020-05-31T19:09:56.014+07:00
(nnnnnnnnnn=) WebSocket Request Route: [$connect]

2020-05-31T19:09:56.014+07:00
(nnnnnnn=) Client [UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36, SourceIp: 115.73.134.142] is connecting to WebSocket API

2020-05-31T19:09:56.014+07:00
(nnnnnn=) Endpoint request URI: https://lambda.ap-southeast-1.amazonaws.com/2015-03-31/functions/arn:aws:lambda:ap-southeast-1:11111111111:function:api-development-onConnectWebsocket-GGGGGGGGG/invocations <-------------------- OLD LAMBDA

2020-05-31T19:09:56.030+07:00
(nnnnnnnn=) Execution failed due to configuration error: Invalid permissions on Lambda function

在控制台中什么也没显示,$connect路由已删除,那么这是怎么回事?不幸的是,我无法弄清楚,因为实际功能不存在,并且在控制台中指向新功能。

有人可以帮忙吗?

谢谢

amazon-web-services aws-lambda amazon-cloudformation aws-api-gateway
1个回答
0
投票
听起来好像您正在使用cloudformation部署更改,但是在api网关中,您需要为所做的更改创建部署以生效。

您可以通过使用控制台部署api网关阶段进行测试。您可以在此处了解有关cloudformation中的api网关部署的更多信息:https://currentlyunnamed-theclassic.blogspot.com/2018/12/mastering-cloudformation-for-api.html

© www.soinside.com 2019 - 2024. All rights reserved.