AWS Lambda和API网关端点响应中的调试错误
问题描述:
我有一个连接到API网关的lambda函数。当我在本地运行它时,它可以工作,当我使用serverless offline
进行模拟时,它可以工作。AWS Lambda和API网关端点响应中的调试错误
但对公布开发端点,它返回一个错误500和一个JSON对象,并显示一条错误消息:
{
"message": "Internal server error"
}
在CloudWatch的日志,没有错误。在API网关端点测试页面的callstack中,我在流程的Lambda部分中看到了我的正确响应主体,然后当它进入API网关响应步骤时,出现问题。
如何在日志中没有任何错误时调试API网关?
答
如果您在节点中编写它,可能是因为您的节点版本与4.3.2(the one that AWS Lambda uses)不同,这就是测试离线和本地工作而不是在AWS Lambda中工作的原因。
这发生在我以前,当时我正在使用let
。
您可以使用nvm安装节点v 4.3.2以在本地进行测试,或者您可以看看here以查看您允许在代码中使用哪些功能。
调试实时Lambda实际上是不可行的。您是否看到CloudWatch中的任何日志?即使您的处理程序在第一行失败,您也应该看到一些表示开始时间的输出。 –
你可以发布测试调用输出的完整输出文本吗? (根据需要编辑任何敏感数据) –