要在AWS Lambda中调用另一个Lambda函数,需要使用AWS SDK for JavaScript(例如AWS SDK for Node.js)的invoke函数。以下是一种解决方法的代码示例:
const AWS = require('aws-sdk');
const lambda = new AWS.Lambda();
exports.handler = async (event) => {
const params = {
FunctionName: 'AnotherLambdaFunctionName',
InvocationType: 'RequestResponse', // 可以使用Event以异步方式调用函数
Payload: JSON.stringify(event)
};
try {
const response = await lambda.invoke(params).promise();
console.log(response);
return response.Payload;
} catch (err) {
console.error(err);
throw err;
}
};
在上面的示例中,我们创建了一个AWS Lambda函数,并使用AWS SDK for Node.js中的invoke函数调用了另一个Lambda函数。要注意的是,必须将FunctionName参数替换为要调用的另一个Lambda函数的名称。
此外,确保在IAM角色中为执行Lambda函数的角色添加适当的权限,以便能够调用另一个Lambda函数。