amazon-web-services - 函数完成后 Lambda API 超时
问题描述
我们有一个使用 JS API 调用的 lambda 函数。该函数正确完成,我们在日志中看到了 Lambda 报告。
END RequestId: c78a238e-fefd-11e8-935a-2526b5b5f5c1
REPORT RequestId: c78a238e-fefd-11e8-935a-2526b5b5f5c1 Duration: 465968.78 ms
Billed Duration: 466000 ms Memory Size: 3008 MB Max Memory Used: 290 MB
奇怪的是,API 调用返回一个“未处理”错误。
const params = {
FunctionName: process.env.WORKER_LAMBDA,
InvocationType: 'RequestResponse',
Payload: {}
};
this.lambda.invoke(params).promise()
.then(result => this._handleResult(launchParams, result))
.catch(error => this._handleResult(launchParams, error));
结果处理函数记录以下内容:
Lambda result: { TimeoutError: Connection timed out after 990000.0000000001ms
at ClientRequest.<anonymous> (/opt/timeline/backend/node_modules/aws-sdk/lib/http/node.js:83:34)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at ClientRequest.emit (events.js:208:7)
at TLSSocket.emitTimeout (_http_client.js:706:34)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at TLSSocket.emit (events.js:208:7)
at TLSSocket.Socket._onTimeout (net.js:410:8)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)
message: 'Connection timed out after 990000.0000000001ms',
code: 'TimeoutError',
time: 2018-12-13T17:54:06.269Z,
region: 'us-east-1',
hostname: 'lambda.us-east-1.amazonaws.com',
retryable: true }
为什么API返回错误,而函数成功完成,AWS lambda知道呢?
感谢您的任何帮助!
塔马斯
解决方案
推荐阅读
- azure - 如何在存储帐户 blob 容器中引用 VHD - Imagereference Id
- database - 创建具有多个数据库的应用程序
- flutter - 环境中的 java_home 变量,以匹配您在 Android Studio 上的 java 安装位置
- c++ - 是否可以在 MSVC 中对隐式浮点到布尔转换发出警告?
- python - # 替换 django 中的 url 模板标签
- google-sheets - 电子表格获取单个值并计数
- vue.js - 我在哪里可以解决 ChunkLoadingError: Loading chunk nameofchunk failed in a Vue application?
- testng - 我在 BDD 工作,并尝试通过 TestNG 类运行测试场景。在我的“理智”组中,所有测试都由 Alphabet 运行,我需要一个接一个地运行它
- php - PHP 从自动下载文件的链接下载文件
- sql-server - 面向广告用户的 azure sql server 行级安全性