我正在尝试使用POST
方法访问lambda函数。当我尝试测试邮政资源时,我放入请求主体
{"article_url": "http://technewstt.com/bd1108/"}
这使API网关用Execution failed due to configuration error: Malformed Lambda proxy response
响应我的代码下方。
exports.handler = (event, context, callback) => {
//event = {"article_url": "http://technewstt.com/bd1108/"};
console.log(event.article_url);
var http = require('http');
var TextAPI = require('textapi');
var textapi = new TextAPI({
application_id: "randomn numbers",
application_key: "randomn numbers"
});
textapi.summarize({
url: event.article_url,
sentences_number: 3
}, function(error, response) {
if (error === null) {
response.sentences.forEach(function(s) {
console.log(s);
//var body = JSON.parse(s);
// TODO implement
//callback(null, s);
callback(null, {"statusCode": 200, "body": JSON.stringify(s)});
});
}
});
};
请注意,如果我散布第二行,则API网关正常工作。
在此问题上的任何帮助将不胜感激。
您正在使用lambda代理集成,该集成总是期望格式的输出http://docs.aws.amazon.com/apigateway/latest/latest/developerguide/set up-lambda-lambda-proxy--proxy--proxy--proxy--proxy--proxy--proxy--proxy--proxy--proxy--Integrations.html#Api-Gateway-simple-proxy-for-lambda-output-format
,如果lambda响应格式出乎意料,则返回"畸形的lambda代理响应"。您可以使用完整的请求/响应启用记录,这应该向您显示从Lambda返回的响应。它可能会在您的lambda函数中返回错误。