首页 文章

AWS API Gateway:由于配置错误导致执行失败:输出映射不匹配且未配置默认输出映射

提问于
浏览
10

在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

这是我的集成响应设置:
enter image description here

这是我的方法响应设置:
enter image description here

基本上我希望API网关识别成功的lambda执行,然后默认将它映射到200响应,但这不会发生 .

有谁知道为什么这不起作用?

4 回答

  • 3

    保存已解决的默认集成响应映射时出现问题 . 该错误导致对API方法的请求被错误地保存以返回500错误,CloudWatch日志应包含:

    Execution failed due to configuration error: 
    No match for output mapping and no default output mapping configured.
    

    由于'ENABLE CORS'保存了默认的集成响应,因此您的方案中也会出现此问题 .

    有关更多信息,请参阅AWS论坛条目:https://forums.aws.amazon.com/thread.jspa?threadID=221197&tstart=0

    最好,

    尤尔根

  • 4

    我有类似的问题,通过添加方法响应200解决它

  • 1

    什么对我有用:
    1.在Api Gateway Console中手动创建OPTIONS方法
    2.在创建的OPTIONS方法下的Method Response部分中,添加了200 OK
    3.选择Option方法并从菜单中启用CORS

  • 2

    我发现了问题:

    亚马逊在 Headers 为“启用CORS”的API网关资源配置中添加了一个新按钮 . 我之前点击了这个,但一旦启用,似乎没有办法禁用它

    使用此按钮启用CORS(而不是手动执行此操作,这是我最终做的事情),即使成功执行lambda,也会导致内部服务器错误 .

    enter image description here

    解决方案:我删除了资源并再次创建它,而没有单击“启用CORS”这一次,一切正常 .

    这似乎是一个具有该功能的BUG,但也许我只是不太了解它 . 如果您有任何进一步的信息,请评论谢谢 .

相关问题