要在AWS Node.js Lambda函数中调用另一个Lambda函数,可以使用AWS SDK中的Lambda模块。以下是一个示例代码,演示如何调用内部Lambda函数。
const AWS = require('aws-sdk');
exports.handler = async (event, context) => {
const lambda = new AWS.Lambda();
const params = {
FunctionName: 'YourInnerLambdaFunctionName',
InvocationType: 'RequestResponse',
Payload: JSON.stringify({ /* Payload data to pass to the inner Lambda function */ })
};
try {
const response = await lambda.invoke(params).promise();
const responseData = JSON.parse(response.Payload);
console.log(responseData);
// 处理内部Lambda函数的响应数据
return responseData;
} catch (error) {
console.error(error);
// 处理错误
throw error;
}
};
在上面的示例中,首先我们需要创建一个AWS Lambda客户端实例。然后,我们使用invoke
函数来调用内部Lambda函数。在params
对象中,我们指定了内部Lambda函数的名称(FunctionName
),以及我们想要传递给它的有效载荷数据(Payload
)。我们还设置了InvocationType
为RequestResponse
,表示希望获取内部Lambda函数的响应。
然后,我们使用await
关键字等待内部Lambda函数的响应,并将其解析为JSON格式。最后,我们可以根据需要处理响应数据,并将其返回。
请确保在Lambda函数的执行角色中具有调用内部Lambda函数的权限。