Python AWS API网关Lambda错误正则表达式

Python AWS API网关Lambda错误正则表达式,python,aws-lambda,aws-api-gateway,Python,Aws Lambda,Aws Api Gateway,我用Python 2.7编写了Lambda函数,它是从API网关触发的 我希望API网关在Lambda失败时返回400代码,我不想使用Lambda代理,所以我尝试设置API网关集成响应 当Lambda函数失败时,它返回: { "stackTrace": [ [ "/var/task/lambda_function.py", 12, "lambda_ha

我用Python 2.7编写了Lambda函数,它是从API网关触发的

我希望API网关在Lambda失败时返回400代码,我不想使用Lambda代理,所以我尝试设置API网关集成响应

当Lambda函数失败时,它返回:

{
    "stackTrace": [
        [
            "/var/task/lambda_function.py",
            12,
            "lambda_handler",
            "raise Exception('failure')"
        ]
    ],
    "errorType": "Exception",
    "errorMessage": "failure"
}
Lambda错误正则表达式和主体映射模板:

..与CLI中的相同:

aws apigateway get-integration-response --rest-api-id bz47krygwa --resource-id 788q0w --http-method ANY --status-code 400 --region us-west-1
{
    "statusCode": "400",
    "selectionPattern": ".*\"failure\".*",
    "responseTemplates": {
        "application/json": "#set($inputRoot = $input.path('$.errorMessage'))\n$inputRoot"
    }
}
..但它不能正常工作,仍然返回200个代码:


请给出修复建议?

答案非常简单-从Lambda Error Regex中删除双引号成功

此外,还可以删除身体映射模板:

..它的工作原理与预期一致: