我有一个简单的描述实例函数,我正在尝试通过AWS Lambda在nodejs中运行:
var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
exports.handler = function(event, context) {
console.log("nnLoading handlernn");
var ec2 = new AWS.EC2();
ec2.describeInstances(function(err, data) {
console.log("nIn describe instances:n");
if (err) {
console.log(err, err.stack);
context.done(null, 'Function Finished from error!'); // an error occurred
}else {
console.log("nn" + data + "nn");
context.done(null, 'Function Finished with data!'); // successful response
}
});
};
这不会向我返回任何错误,CloudWatch 中的唯一输出是这样的:
2016-03-21T17:01:59.085Z xxxxxxx-xx.... Task timed out after 3.00 seconds
有人知道可能是什么问题吗?
我也遇到了同样的问题。我将超时( Lambda --> 配置 --> 高级设置)从 3 秒增加到 5 秒,它工作正常。
检查这个: https://medium.com/@philippholly/aws-lambda-enable-outgoing-internet-access-within-vpc-8dd250e11e12#.2sdn5oyd1
如果您在VPC中,您将无法访问互联网!
您应配置 NAT 以在 lambda 中启用传出互联网访问。
确保执行角色具有 EC2 权限,并尝试使用:
context.fail()
或context.succeed()
与
context.done()