HTTP 获取 | POST 来自 Serverless 的超时错误并且没有 return 任何东西

HTTP GET | POST from Serverless give timeout error and does not return anything

我正在使用 aws serverless mongodb 模板,它可以很好地处理 mongodb 查询和其他本地处理 我想发出 http 请求以获取我尝试过的一些数据。 http/http/axios/request

但它只是 returns 我在超时错误后

{
    "message": "Endpoint request timed out"
}

以下是我最后一次尝试的代码。

const util = require('../../lib/util')
// const UserModel = require('../../schema/User');
const fetch = require("node-fetch");
const url = "https://jsonplaceholder.typicode.com/posts/1";

module.exports = async (event) => {
  try {
    const response = await fetch(url);
    const json = await response.json();
    console.log(json);
    return util.bind(json)
  } catch (error) {
    return util.bind(error)
  }
}

类似地API sdk's like paypal 和 razorpay 也变得无响应。 这是 aws 设置或 nodejs 代码的问题吗?

提前致谢。

Above code works fine on serverless offline

根据 AWS,所有 lambda 都只有传入连接。 lambda 不能为我们调用任何 http。为此,我们需要 NAT 网关。 使用 NAT 网关,您的 lambda/serverless 将获得 Internet 访问权限,并且可以进行传出 http 调用。