AWS通过另一个lambda函数调用lambda函数,从而产生超时错误

时间:2017-11-13 09:27:09

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

我是AWS的新手,并在lambda函数上做了一些练习。我想通过另一个lambda函数调用lambda函数,但它给出了一个错误。

两个函数都分配了相同的执行角色(其中包含" AWSLambdaExecute",AWSLambdaBasicExecutionRole,分配了AWSLambdaFullAccess策略),并且没有为任何分配任何vpc。

{
  "errorMessage": "2017-11-13T09:19:08.103Z b19fcd35-c853-11e7-a038-79c5d04b5126 Task timed out after 3.00 seconds"
} 

调用"测试"的功能lambda函数

var AWS = require('aws-sdk');
AWS.config.region = 'EU(Ireland)';
var lambda = new AWS.Lambda();

exports.handler = function(event, context) {
 var params = {
    FunctionName: 'test', // the lambda function we are going to invoke
    InvocationType: 'Event',       
    Payload: '{ "name" : "Alex" }'
};

 lambda.invoke(params, function(err, data) {
  console.log("ds");
  if (err) {
   context.fail(err);
  } 
  else {
   context.succeed('Lambda test said '+ data.Payload);
  }
 })
};

"测试"功能

exports.handler = function(event, context) {
console.log('Lambda test Received event:', JSON.stringify(event, null,2));
context.succeed('Hello ' + event.name);
};

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:2)

您错误地设置了区域。

AWS.config.region = 'EU(Ireland)';

应该是

AWS.config.region = 'eu-west-1';