【问题标题】:AWS Lambda javascript keep alive connection to third party APIAWS Lambda javascript 保持与第三方 API 的连接
【发布时间】:2020-05-29 13:44:39
【问题描述】:
我正在使用 lambda 函数将请求代理到第三方 REST API,在 lambda 端添加我们的第三方 API 密钥,因此它在我们的前端应用程序中不可见。
关于 reusing connections in nodejs 的 AWS 文档提到了环境变量 AWS_NODEJS_CONNECTION_REUSE_ENABLED。
有人知道这是否适用于axios
【问题讨论】:
标签:
javascript
node.js
aws-lambda
【解决方案1】:
使用 Axios,此变量可以直接在 HTTP(s) 代理上与任何其他变量一起使用,当然还有 true 的硬编码版本。为此,请创建一个 axios 实例帽子,该帽子将在 httpAgent 的请求中重用,或者在我的情况下 httpsAgent 使用 keep alive to true:
const axiosInstance = axios.create({
baseURL: THIRDPARTY_BASE_URL,
headers: { authorization: `Bearer ${THIRDPARTY_ACCESS_TOKEN}` },
httpsAgent: new https.Agent({ keepAlive: true }),
});