当前位置: 首页 > 知识库问答 >
问题:

用Lambda代理集成来“测试”Lambda函数值得吗?

葛胡媚
2023-03-14

如果在API网关中使用“lambda代理集成”(这里也是&这里),则会发生两个重要的变化:

1)数据映射到event.body(而不是直接映射到需要映射模板的event对象上)

2)event.body是stringized的,需要json.parse id

exports.handler = async (event, context) => {

    if (event && event.body) {
    try {
        event.body = JSON.parse(event.body);
    } catch(e) {
        return {
            statusCode: 200,
            body: JSON.stringify({message: 'Hit error in try/catch'})
        }
    }
}
    return {
        statusCode: 200,
        body: JSON.stringify({message: event})
    }

}

是否有更好的技术将“测试”输入数据发送到Lambda函数?除非我忽略了什么,否则您似乎需要得到一个更好的解决方案,或者手工制作测试输入,以“匹配”API网关调用的预期有效负载,该API网关调用具有Lambda代理集成

共有1个答案

王弘和
2023-03-14

在尝试测试Lambda函数时,您是否尝试过选择预定义的测试事件模板,而不是尝试使用建议的默认事件配置?

您可以尝试Event Template-->API Gateway AWS Proxy。

 类似资料:
  • 如果使用“Lambda代理集成”(这里也是 1) 数据映射到(而不是直接映射到需要映射模板的对象上) 2)是字符串化的,需要JSON. parse'd 下面是一个简单Lambda函数的示例,该函数期望输入符合API网关(node10x)的Lambda代理集成-- 问:如何(或应该)使用Lambda的内置测试输入功能,用于以Lambda代理集成的方式期望数据的Lambda脚本? 测试输入直接来自对象

  • 有时您可能只需要在程序中的一个位置使用一个函数,并且该函数非常简单,您可能不会给它命名,或者可能不想将它存储在符号表中,而宁愿编写一个未命名或匿名的函数。 LISP允许您编写仅在程序中遇到它们时才计算的匿名函数。 这些函数称为Lambda functions. 您可以使用lambda表达式创建此类函数。 lambda表达式的语法如下 - (lambda (parameters) body) 无法

  • 目前我正在使用SQS-Lambda集成 Lambda的并发可用。SQS批次设置为1记录,0延迟。 SQS的可见性超时为15分钟,Lambda最大执行时间为15分钟 我会注意到,有时SQS消息在飞行中被卡住,根本没有被任何Lambda处理(它们在15分钟后落入死信队列,CloudWatch显示没有Lambda被消息调用) 有人面临过同样的问题吗? 我在VPC内部运行Lambda,如果这很重要的话

  • 我有一个lambda函数,它成功地执行了一个名为的意图,该意图返回一个特定的字符串。为了测试目的,我已经为这个意图创建了一个话语(一个简单的话语,不需要任何可选的插槽来调用这个技能),但是当使用服务模拟器用这个话语测试lambda函数时,我会遇到表示的lambda响应。下面是交互模型的样子: 使用适当的自定义技能类型语法, 当向Alexa提供语句时,lambda响应应该像在执行中一样输出字符串。我

  • 问题内容: 我有一个使用node.js express开发的移动应用程序后端。我尝试将其部署为lambda服务。为此,我创建了一个无服务器框架项目(https://github.com/serverless)。以前,我通过启动快速后端应用程序在本地测试了移动应用程序。现在,我找不到没有本地后端就可以在本地测试我的移动应用程序的方法。命令只在我调用一次后运行。 有什么方法可以将lambda函数作为W

  • 在我的项目中,我创建了一个py函数,用于检查和修改我的谷歌日历,如下所示: 当我在lambda上测试它时,一切都完成了,但是当我从lambda创建API时: 并对其进行测试,结果是: 2017年12月20日星期三13:35:58 UTC:由于配置错误,执行失败:Lambda代理响应格式错误2017年12月20日星期三13:35:58 UTC:方法已完成,状态为:502 提前谢谢