HTTP GET | POST от Serverless дает ошибку тайм-аута и ничего не возвращает - PullRequest
0 голосов
/ 26 мая 2020

Я использую aws бессерверный шаблон mongodb, который отлично работает с запросами mongodb и другой локальной обработкой. Я хочу сделать http-запрос, чтобы получить некоторые данные, которые я пробовал. http / http / axios / request

Но он просто возвращает мне следующую ошибку тайм-аута

{
    "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, как Paypal и razorpay также перестают отвечать на запросы. это проблема с настройками aws или кодом nodejs?

Заранее спасибо.

Приведенный выше код отлично работает без сервера в автономном режиме

1 Ответ

0 голосов
/ 25 августа 2020

Согласно AWS все лямбды имеют только входящее соединение. лямбда не может вызывать для нас http. для этого нам нужен шлюз NAT. с помощью шлюза NAT ваша лямбда / бессерверная система получит доступ inte rnet и сможет совершать исходящие HTTP-вызовы.

...