AWS SDK v2.1500 Node.js客户端调用Lambda执行成功后仍超时无响应问题排查求助
AWS SDK v2.1500 Node.js客户端调用Lambda执行成功后仍超时无响应问题排查求助
大家好,我碰到一个棘手的问题想请教下:我在Node.js客户端用AWS SDK v2.1500调用Lambda函数,Lambda在AWS控制台的日志里明明显示执行成功了,但我的客户端一直收不到响应,直到设置的超时时间到了才抛出超时错误。
我的Lambda客户端初始化和调用代码如下:
const lambda = new AWS.Lambda({ httpOptions: { connectTimeout: LAMBDA_CONNECTION_TIMEOUT_MS, timeout: LAMBDA_CONNECTION_TIMEOUT_MS, // 这里设置的是15分钟 }, maxRetries: 0, }); try { response = await lambda .invoke({ FunctionName: lambdaName, Payload: payload ? JSON.stringify(payload) : undefined, }, (err, data) => { if (err){ console.error(`Could not invoke lambda: \n ${err}`); } } ) .promise(); } catch (e) { // 这里捕获到了超时错误 }
抛出的错误栈是:
at ClientRequest. (/app/node_modules/aws-sdk/lib/http/node.js:87:34) at ClientRequest. (/app/node_modules/aws-sdk/lib/http/node.js:87:34) 2023-12-08T15:48:55.864+01:00 at Object.onceWrapper (node:events:628:28) 2023-12-08T15:48:55.864+01:00 at ClientRequest.emit (node:events:514:28) 2023-12-08T15:48:55.864+01:00 at ClientRequest.emit (node:domain:488:12) 2023-12-08T15:48:55.864+01:00 at TLSSocket.emitRequestTimeout (node:_http_client:840:9) 2023-12-08T15:48:55.864+01:00 at Object.onceWrapper (node:events:628:28) 2023-12-08T15:48:55.864+01:00 at TLSSocket.emit (node:events:526:35) 2023-12-08T15:48:55.864+01:00 at TLSSocket.emit (node:domain:488:12) 2023-12-08T15:48:55.864+01:00 at Socket._onTimeout (node:net:589:8) 2023-12-08T15:48:55.864+01:00 at listOnTimeout (node:internal/timers:573:17)
想问问各位,我应该从哪些方面入手排查这个问题?或者有没有办法调试底层的连接流程,看看中间到底发生了什么导致客户端收不到响应?
备注:内容来源于stack exchange,提问作者borko84
相关产品推荐
相关产品推荐

