Aws lambda描述实例超时

时间:2016-03-21 17:10:54

标签: node.js amazon-web-services amazon-ec2 timeout aws-lambda

我有这个简单的描述实例函数,我试图通过AWS Lambda在nodejs中运行:

var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';

exports.handler = function(event, context) {
    console.log("\n\nLoading handler\n\n");
    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("\n\n" + data + "\n\n");
        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

任何人都知道可能出现什么问题?

3 个答案:

答案 0 :(得分:10)

我也面临同样的问题..我将超时(Lambda - >配置 - >高级设置)从3秒增加到5秒,并且工作正常。

答案 1 :(得分:2)

确保执行角色具有EC2权限并尝试使用:

context.fail()context.succeed()

VS

context.done()

答案 2 :(得分:1)

请检查:https://medium.com/@philippholly/aws-lambda-enable-outgoing-internet-access-within-vpc-8dd250e11e12#.2sdn5oyd1

如果您在VPC中,则无法再访问互联网了!

您应该配置NAT以启用lambda中的传出Internet访问。