小编Cop*_*Man的帖子

AWS API Gateway 集成响应 - 当响应包含换行符时,Lambda 错误正则表达式无法匹配

我有 API Gateway 作为 lambda 函数的触发器。每当我的 lambda 引发异常时,它就会与集成响应中配置的模式匹配。问题是,如果异常包含换行符,则该模式将被忽略,并且默认返回 200 作为状态代码

要重现该问题:

  1. 使用 python 3.6 创建 lambda 并添加 API Gateway 作为触发器。
  2. 在 API 网关中,将集成响应正则表达式配置为“内部服务器错误。*”到自定义代码 500。(这意味着每当 lambda 返回前缀为“内部服务器错误”的消息时,它将被视为异常,状态代码将设置为500)。
  3. 在 lambda 中,引发包含“\n”新行的异常消息。
  4. 当您从 API Gateway 触发 lambda 时,它会返回 200 而不是 500 作为状态代码。

注意:如果从异常消息中删除换行符,它会正常工作并按预期返回 500。

有人遇到同样的问题吗?有什么解决办法吗?

http-status-codes amazon-web-services aws-lambda aws-api-gateway

7
推荐指数
1
解决办法
665
查看次数