Axios 在 Lambda 中总是超时

问题描述 投票:0回答:1

我在 Lambda 中有以下代码,它通过 Axios 调用 API,返回虚拟 JSON 输出。这段代码在我的本地机器上运行得很好,但是,当从 Lambda 运行时,执行 Axios 调用时它总是超时:

const axios = require('axios');
async function testAxios() {

  let result;
  console.log("START");
  try {
    let response = await axios.get("https://jsonplaceholder.typicode.com/todos/1");
    result = await response.data;
  } catch (errors) {
    result = "ERROR: " + errors;
  }
  console.log("END: " + JSON.stringify(result));
  return result;

}

这是我从本地计算机运行时得到的预期输出:

START
END: {"userId":1,"id":1,"title":"delectus aut autem","completed":false}
{"statusCode":200,"headers":{"Access-Control-Allow-Origin":"*"},"body":"{\"userId\":1,\"id\":1,\"title\":\"delectus aut autem\",\"completed\":false}"}

这是我从 Lambda 运行时得到的意外输出,10 秒后超时:

START RequestId: d9ad29e3-858a-47a8-a86d-35fc16704b55 Version: $LATEST
2024-05-08T21:24:00.420Z    d9ad29e3-858a-47a8-a86d-35fc16704b55    INFO    START
2024-05-08T21:24:10.432Z d9ad29e3-858a-47a8-a86d-35fc16704b55 Task timed out after 10.01 seconds

其他信息:

  • Nodejs:18.x
  • axios:1.6.8
  • VPC 入站/出站:全部 (0.0.0.0/0)
  • Lambda 超时:10 秒(我尝试了 30 秒,但得到了相同的结果)

任何解决此问题的建议将不胜感激!

aws-lambda axios
1个回答
0
投票

更新:研究了IAmCoder的评论后,我能够按照AWS中的这些步骤将我的NAT网关和子网连接到互联网来解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.