1
我准备了一个管道来创建Lambda & API网关。我的功能是一个计算器。 当我单独测试Lambda函数时,如果给出正确的响应,但是当我调用API网关URL并传递相同的JSON时,它会给出如下错误。AWS Codepipeline搭建AWS Lambda,API Gateway返回格式错误的Lambda代理响应,502错误
“
Fri Jun 02 09:17:46 UTC 2017 : Endpoint response body before transformations: "Invalid operator entered"
Fri Jun 02 09:17:46 UTC 2017 : Endpoint response headers: {x-amzn-Remapped-Content-Length=0, x-amzn-RequestId=57991ca2-4774-11e7-bb26-5f9c6ab6fea6, Connection=keep-alive, Content-Length=26, Date=Fri, 02 Jun 2017 09:17:46 GMT, X-Amzn-Trace-Id=root=1-59312d3a-625acffb6cc2497ff543900e;sampled=0, Content-Type=application/json}
Fri Jun 02 09:17:46 UTC 2017 : Execution failed due to configuration error: Malformed Lambda proxy response
Fri Jun 02 09:17:46 UTC 2017 : Method completed with status: 502
”
我的lambda函数是如下
exports.calculator = (event, context, callback) => {
// TODO implement
var i1 = event.key1;
var i2 = event.key2;
var operation = event.key3;
switch(operation){
case '+' : callback(null, i1+i2);break;
case '-' : callback(null, i1-i2);break;
case '*' : callback(null, i1*i2);break;
case '/' : callback(null, i1/i2);break;
default:callback(null,"Invalid operator entered");break;
}
};
任何建议,请
感谢
我理解了这个问题,并在Integration Request页面看到已选择了代理风格。 但是,你能否更多地解释我应该怎么做才能解决它。你已经给出了解释的响应格式,但我应该在哪里添加它。请帮忙。 对不起,无知。虽然我认为它是在方法响应,但如何? – Rohit
我正在使用Codepipeline来构建和部署。 – Rohit
我甚至在取消选择Lambda代理集成后尝试过,但结果相同。 – Rohit