Почему этот HTTP-запрос не работает на AWS Lambda?

Я начинаю работу с AWS Lambda и пытаюсь запросить внешний сервис из своей функции-обработчика. В соответствии сэтот ответHTTP-запросы должны работать просто отлично, и я не нашел никакой документации, в которой говорилось бы иначе. (На самом деле, люди разместиликод, который использует Twilio API для отправки SMS.)

Мой код обработчика:

var http = require('http');

exports.handler = function(event, context) {
  console.log('start request to ' + event.url)
  http.get(event.url, function(res) {
    console.log("Got response: " + res.statusCode);
  }).on('error', function(e) {
    console.log("Got error: " + e.message);
  });

  console.log('end request to ' + event.url)
  context.done(null);
}

и я вижу следующие 4 строки в моих журналах CloudWatch:

2015-02-11 07:38:06 UTC START RequestId: eb19c89d-b1c0-11e4-bceb-d310b88d37e2
2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 start request to http://www.google.com
2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 end request to http://www.google.com
2015-02-11 07:38:06 UTC END RequestId: eb19c89d-b1c0-11e4-bceb-d310b88d37e2

Я бы ожидал еще одну строку там:

2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 Got response: 302

но этого не хватает Если я использую основную часть без оболочки обработчика в узле на моей локальной машине, код работает как положено.

inputfile.txt Я использую это дляinvoke-async вызов это:

{
   "url":"http://www.google.com"
}

Кажется, что часть кода обработчика, которая выполняет запрос, полностью пропускается. Я начал сзапросить lib и вернулся к использованию равниныhttp создать минимальный пример. Я также попытался запросить URL-адрес службы, которой я управляю, чтобы проверить журналы, и никаких запросов не поступало.

Я в полном недоумении.Есть ли какая-либо причина, по которой Node и / или AWS Lambda не будут выполнять HTTP-запрос?

Ответы на вопрос(1)

Ваш ответ на вопрос