簡體   English   中英

AWS API Gateway Lambda錯誤正則表達式

[英]AWS API Gateway Lambda Error Regex

我有用Python 2.7編寫的Lambda函數,該函數是從API Gateway觸發的,

我希望當Lambda失敗並且我不想使用Lambda代理時API Gateway返回400代碼,所以我試圖設置API Gateway Integration Response。

當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中刪除雙引號就可以了,

此外,“人體貼圖”模板也可以刪除: 在此處輸入圖片說明

..並且按預期工作: 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM