所有 API 网关路由的 CloudWatch 端点响应都相同

CloudWatch Endpoint Response is same for all API Gateway routes

我现在有一个简单的 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 网关的 websocket URL 并触发功能。我能够连接到 websocket,CloudWatch 也正确记录了三个触发器,所以我知道这方面正在工作。

但是当我检查日志时,Endpoint Response before Transformation 对于所有三个都是相同的:

只对$connect的日志应该是"Hello from Lambda"

Lambda 控制台中 Monitor 下的指标反映了准确触发的函数,但返回的响应不正确。

我该如何解决这个问题?

我是否错误地理解了 CloudWatch 日志,或者我需要进行特定的设置或设置才能获得准确的结果?

有关此的任何指示都会有所帮助。

编辑: 我更改了 $connect 的 Lambda 函数,结果发现 CloudWatch 日志中的响应不是来自此 Lambda 函数。端点响应只是默认的 Lambda 函数。

正如上面的评论所指出的,它与部署 Lambda 函数有关。 我以为 API 是我们唯一部署的东西,但我们还需要部署 Lambda 函数才能使它们正常工作。