node.js - succeed - lambda node js tutorial
Solicitudes HTTP en un AWS Lambda (1)
Resolví mi propio problema.
Aparentemente, si decide incluir la URL como primer parámetro en .get()
, debe incluir http://
delante de la URL, por ejemplo, http://www.google.com
.
var http = require(''http'');
exports.handler = function (event, context) {
http.get(''http://www.google.com'', function (result) {
console.log(''Success, with: '' + result.statusCode);
context.done(null);
}).on(''error'', function (err) {
console.log(''Error, with: '' + err.message);
context.done("Failed");
});
};
Alternativamente, puede especificar el primer parámetro como un hash de opciones , donde hostname
puede ser la forma simple de la URL. Ejemplo:
var http = require(''http'');
exports.handler = function (event, context) {
var getConfig = {
hostname: ''www.google.com''
};
http.get(getConfig, function (result) {
console.log(''Success, with: '' + result.statusCode);
context.done(null);
}).on(''error'', function (err) {
console.log(''Error, with: '' + err.message);
context.done("Failed");
});
};
Soy nuevo en Lambdas, así que quizás haya algo que no haya captado todavía, pero he escrito una función Lambda simple para hacer una solicitud HTTP a un sitio externo. Por alguna razón, si uso los módulos http
o https
Node, obtengo un ECONNREFUSED
.
Aquí está mi Lambda:
var http = require(''http'');
exports.handler = function (event, context) {
http.get(''www.google.com'', function (result) {
console.log(''Success, with: '' + result.statusCode);
context.done(null);
}).on(''error'', function (err) {
console.log(''Error, with: '' + err.message);
context.done("Failed");
});
};
Aquí está la salida del registro:
START RequestId: request hash
2015-08-04T14:57:56.744Z request hash Error, with: connect ECONNREFUSED
2015-08-04T14:57:56.744Z request hash {"errorMessage":"Failed"}
END RequestId: request hash
¿Hay un permiso de rol que necesito para hacer solicitudes HTTP? ¿Lambda permite incluso solicitudes HTTP simples? ¿Hay encabezados especiales que necesito establecer?
Cualquier orientación es apreciada.