首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在aws lambda函数中调用外部api

无法在aws lambda函数中调用外部api
EN

Stack Overflow用户
提问于 2020-08-01 09:29:00
回答 1查看 548关注 0票数 0

我打算用request调用aws lambda函数中的第三方api。但它显示超时错误。我将lambda函数的时间设置为30s,当我使用postman调用该api时,它会在5秒内发送响应(Error)。我认为请求或axios无法将请求发送到外部api或无法接收响应。有谁可以帮我?我的代码:

代码语言:javascript
复制
  request.post({url:url2, json:true, body:body, headers: {
    'ACCESS_TIMESTAMP': timestamp,
    'Content-Type': 'application/json'
  } }, (error, response, body) => {
  console.log("------------------I am here----------------------")
  callback(null, error)
})

当我使用axios时,代码如下所示:

代码语言:javascript
复制
let jsonbody = JSON.stringify(body)
axios.post(url2, jsonbody,  {headers: {
      'ACCESS_TIMESTAMP': timestamp,
      'Content-Type': 'application/json'
    }})
.then(res => {
  callback(null, res.data)
})
.catch(err => {
  callback(null, err)
})

我想得到res或err的结果,但它们不执行操作。

EN

回答 1

Stack Overflow用户

发布于 2020-08-01 11:26:48

当您将Lambda定位到私有网络中时,您需要将NAT网关设置到私有子网中。如果您没有接入NAT,Lambda将无法连接到公网,只能与内网IP通信。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63200914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档