2016-03-20 3 views
-1

Есть ли способ использовать динамические конечные точки с AWS Lambda?AWS Lambda Dynamic Endpoint

Из того, что я могу сказать, вам нужно указать конечную точку в консоли AWS Lamda.

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

Учитывая, что я создал мой Lambda для Node.js

Я думал, что я мог бы просто использовать:

// ----receive function----v 
function get_json(url, callback) { 
    http.get(url, function(res) { 
     var body = ''; 
     res.on('data', function(chunk) { 
      body += chunk; 
     }); 

     res.on('end', function() { 
      var response = JSON.parse(body); 
// call function ----v 
      callback(response); 
     }); 
    }); 
} 

     // -----------the url---v   ------------the callback---v 
var mydata = get_json("http://api.openweathermap.org/data/2.5/weather?id=2172797&appid=b1b15e88fa797225412429c1c50c122a", function (resp) { 
    console.log(resp); 
}); 

, но я получаю эту ошибку:

"errorMessage": "http is not defined"

Что мне нужно является способом для динамического URL-адреса для JSON

Может кто-нибудь помочь?

+0

Что заставляет вас думать, что вы не можете подключиться к базе данных из вашей лямбда-функции, чтобы получить URL-адрес, который вам нужен? –

+0

http://stackoverflow.com/questions/31809890/can-aws-lambda-connect-to-rds-mysql-database-and-update-the-database –

+0

Вы не поняли мой вопрос – JamesG

ответ

1

Перед использованием http.get необходимо определить var http = require('http');.

var http = require('http'); 

    function get_json(url, callback) { 
     http.get(url, function(res) { 
      var body = ''; 
      res.on('data', function(chunk) { 
       body += chunk; 
      }); 

      res.on('end', function() { 
       var response = JSON.parse(body); 
    // call function ----v 
       callback(response); 
      }); 
     }); 
    } 

      // -----------the url---v   ------------the callback---v 
    var mydata = get_json("http://api.openweathermap.org/data/2.5/weather?id=2172797&appid=b1b15e88fa797225412429c1c50c122a", function (resp) { 
     console.log(resp); 
    });