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 调用。
我正在使用 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 调用。