我有一个lambda函数,可以连接到API网关。当我在本地运行它时,它可以工作,当我使用serverless offline
进行模拟时,它可以工作。
但是对于发布的dev端点,它返回错误500和带有错误消息的json对象:
{
"message": "Internal server error"
}
在CloudWatch日志中,没有错误。在API网关端点测试页面的callstack中,我在进程的Lambda部分看到了正确的响应主体,然后当它进入API网关响应步骤时出现问题。
如果日志中没有任何错误,我应该如何调试API网关?
答案 0 :(得分:1)
如果您在节点中编写它,可能是您的节点版本与4.3.2(the one that AWS Lambda uses)不同,这就是为什么离线和本地测试工作但不在AWS Lambda中的原因。
当我使用let
时,这发生在我身上。
您可以使用nvm安装node v 4.3.2以在本地进行测试,或者您可以查看here以查看您允许在代码中使用哪些功能。
答案 1 :(得分:0)
获取 API网关来馈送 cloudWatch :
// SETUP THE PIN TO BE AN OUTPUT
bcm2835_gpio_fsel(TIME_ITERATION, BCM2835_GPIO_FSEL_OUTP);
// SET PIN HIGH
TIME_ITERATION_1();
...
<body of function>
...
// SET PIN LOW
TIME_ITERATION_0();
创建新角色
AmazonAPIGatewayPushToCloudWatchLogs
arn:aws:iam::<account id>:role/<role name>
> 阶段> 设置> CloudWatch设置并执行以下操作:
现在可以在:
中查看您的日志以<API name>
之类的名称