Amazon web services AWS API网关为新添加的函数返回{“消息”:“禁止”}

Amazon web services AWS API网关为新添加的函数返回{“消息”:“禁止”},amazon-web-services,websocket,aws-lambda,amazon-cloudformation,Amazon Web Services,Websocket,Aws Lambda,Amazon Cloudformation,我正在尝试实现一个简单的WebSocket应用程序,并以这个“简单的WebSocket聊天应用程序”为例() 它工作得很好,我能够部署它并在控制台中运行它 但是,如果我尝试添加新功能和新网关集成和路由,网关将返回以下响应: > {"action":"runmynewfunction"} < {"message": "Forbidden", "connectionId":"Vl

我正在尝试实现一个简单的WebSocket应用程序,并以这个“简单的WebSocket聊天应用程序”为例()

它工作得很好,我能够部署它并在控制台中运行它

但是,如果我尝试添加新功能和新网关集成和路由,网关将返回以下响应:

> {"action":"runmynewfunction"}
< {"message": "Forbidden", "connectionId":"VlXNCcNloAMCF4Q=", "requestId":"VlXOkHJCoAMFXSw="}
{“操作”:“runmynewfunction”}
<{“消息”:“禁止”,“连接ID”:“VlXNCcNloAMCF4Q=”,“请求ID”:“VlXOkHJCoAMFXSw=”}
为了让这个函数工作,我运行samdeploy。我在控制台中看到,功能、路线和集成都在那里,一切都是正确的

如果我只是从amazon中删除整个cloudformation堆栈并再次运行sam deploy,我会让这个函数工作,甚至不修改yaml配置文件

我甚至更进一步,试图改变一些现有的路线键,但没有效果。API网关的行为就像它仍然处于以前的状态一样,但函数代码实际上已更新

要实际部署它,我必须转到API网关控制台页面并按“部署API”。


如何使用新的API路由更新cloudformation堆栈?

lambda权限如何?API网关需要具有调用函数的权限。