最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

格式错误的Lambda代理响应

IT培训 admin 8浏览 0评论

格式错误的Lambda代理响应

我试图使用POST方法访问Lambda函数。当我尝试测试我放入Request主体的POST资源时 {"article_url": "/"}

这使得API网关响应Execution failed due to configuration error: Malformed Lambda proxy response我的代码如下。

exports.handler = (event, context, callback) => {
//event = {"article_url": "/"};
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/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format的输出

如果lambda响应格式是意外的,则返回“格式错误的Lambda代理响应”。您可以使用完整的请求/响应启用日志记录,该响应应显示从lambda返回的响应。很可能你的lambda函数出错了,它返回了一个错误。

格式错误的Lambda代理响应

我试图使用POST方法访问Lambda函数。当我尝试测试我放入Request主体的POST资源时 {"article_url": "/"}

这使得API网关响应Execution failed due to configuration error: Malformed Lambda proxy response我的代码如下。

exports.handler = (event, context, callback) => {
//event = {"article_url": "/"};
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/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format的输出

如果lambda响应格式是意外的,则返回“格式错误的Lambda代理响应”。您可以使用完整的请求/响应启用日志记录,该响应应显示从lambda返回的响应。很可能你的lambda函数出错了,它返回了一个错误。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论