Zig*_*rth 13 amazon-web-services aws-sdk aws-lambda aws-api-gateway
在AWS API Gateway中,我有一个调用lambda函数的GET方法.
当我在API网关仪表板中测试该方法时,lambda函数成功执行,但API Gateway未将context.success()调用映射到200结果,尽管默认映射设置为yes.
相反,我得到这个错误:
Execution failed due to configuration error: No match for output mapping and no default output mapping configured
Run Code Online (Sandbox Code Playgroud)
基本上我希望API网关识别成功的lambda执行,然后默认将它映射到200响应,但这不会发生.
有谁知道为什么这不起作用?
小智 9
我在使用无服务器框架上传 api 时遇到同样的问题。您可以简单地按照以下步骤解决我的问题。
1- 导航到 aws api 网关
2- 找到您的 api 并单击方法(发布、获取、任何等)
3- 单击方法响应
4- 添加具有 200 响应的方法。
5-保存并测试
保存已解决的默认集成响应映射时出现问题。该错误导致对API方法的请求被错误地保存以返回500错误,CloudWatch日志应包含:
Execution failed due to configuration error:
No match for output mapping and no default output mapping configured.
Run Code Online (Sandbox Code Playgroud)
由于“ ENABLE CORS”保存了默认的集成响应,因此在您的方案中也会出现此问题。
有关更多信息,请参阅AWS论坛条目:https : //forums.aws.amazon.com/thread.jspa? threadID = 221197 & tstart =0
最好,
于尔根
这是一种“检查基础”类型的答案。在我的场景中,CORS 和上面提到的错误不是问题。但是,标题中给出的错误消息正是我所看到的,也是导致我进入此线程的原因。
相反,(一个 API 网关新手)我未能重新部署部署。一旦我这样做了,一切都奏效了。
作为奖励,对于 Terraform 0.12 用户,您需要并且应该使用的魔法是triggers您的aws_api_gateway_deployment资源的参数。当其他相关的 APIGW 资源发生变化时,这将自动为您重新部署。有关详细信息,请参阅TF 文档。
小智 5
对我
有用的是:1. 在 Api 网关控制台中手动创建了 OPTIONS 方法
2. 在创建的 OPTIONS 方法下的方法响应部分中添加了 200 OK
3. 选择了选项方法并从菜单中启用了 CORS
| 归档时间: |
|
| 查看次数: |
21518 次 |
| 最近记录: |