【发布时间】:2022-01-26 04:01:31
【问题描述】:
我现在有一个简单的 API 网关设置,包含三个路由 - $connect, $disconnect, OnMessage。它们中的每一个都会触发不同的 Lambda 函数。
Lambda 函数是默认函数:
exports.handler = async (event) => {
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify('Hello from Lambda!'), // Varies for each Lambda function
};
return response;
};
除了JSON.stringify 部分对于三个路由不同。
现在我要做的就是连接到 API Gateway 的 websocket URL 并触发函数。我能够连接到 websocket 并且 CloudWatch 也正确记录了三个触发器,所以我知道这方面正在工作。
但是当我检查日志时,Endpoint Response before Transformation 对于所有三个都是相同的:
应该是"Hello from Lambda",仅用于$connect的日志。
Lambda 控制台中Monitor 下的指标反映了准确触发的函数,但返回的响应不正确。
我该如何解决这个问题?
我是否对 CloudWatch 日志的理解有误,或者是否需要进行特定设置或设置才能获得准确的结果?
任何与此相关的建议都会有所帮助。
编辑:
我更改了$connect 的 Lambda 函数,结果发现 CloudWatch 日志中的响应不是来自这个 Lambda 函数。端点响应只是默认的 Lambda 函数。
【问题讨论】:
-
事实证明 CloudWatch 日志中的响应不是来自这个 Lambda 函数:这是我的第一个猜测,并且已经被问到了,这里:@ 987654322@
-
我已经部署了我的代码更改并且没有版本冲突
-
没关系,我认为 API 是我们唯一部署的东西。我没有看到 Lambda 函数也需要部署
-
鉴于此问题,我认为此问题与the one I commented earlier 重复,应该关闭
标签: amazon-web-services aws-lambda aws-api-gateway amazon-cloudwatchlogs