Les Requêtes HTTP dans une AWS Lambda
Je suis nouveau sur Lambdas peut-être, il est quelque chose que je n'ai pas saisi tout de suite, mais j'ai écrit une simple fonction Lambda de faire une requête HTTP vers un site externe. Pour une raison quelconque, si j'utilise du Nœud http
ou https
modules, je reçois un ECONNREFUSED
.
Voici mon 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");
});
};
Voici le journal de sortie:
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
Est-il une autorisation de rôle j'ai besoin d'avoir à faire des requêtes HTTP? Ne Lambda même permis de plain old requêtes HTTP? Y at-il des en-têtes de ce que je dois mettre?
De toute orientation est apprécié.
Vous devez vous connecter pour publier un commentaire.
J'ai résolu mon problème.
Apparemment, si vous décidez de nourrir l'URL en tant que premier paramètre à
.get()
, vous devez inclure lehttp://
à l'avant de l'URL, par exemple,http://www.google.com
.Alternativement, vous pouvez spécifier le premier paramètre comme un hachage des options, où
hostname
peut être la simple forme de l'URL. Exemple: