我试图调用lambda函数。
我使用的帐户包含' AWSLambdaFullAccess'和' AWSLambdaRole'包含与Lambda相关的所有权限的策略。 测试lambda函数时,收到以下错误消息:
{"errorMessage":"User: arn:aws:sts::186XXXXXX:assumed-role/lambda_basic_execution/gettestplans is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:us-east-1:1866XXXXXX:function:verifytoken","errorType":"AccessDeniedException"
以下是代码:
lambda.invoke({
FunctionName: 'verifytoken',
Qualifier: process.env.ENVIRONMENT,
InvocationType: 'RequestResponse',
Payload: '{"authorizationToken": "'+event.Authorization+'"}'
}, function(error, data) {
if (error) {
callback(error,null);
}
if(data.Payload){
data=JSON.parse(data.Payload);
if(typeof data.errorMessage == "string" && data.errorMessage == "Unauthorized"){
callback(null,data);
}else{
console.log("This is working")
}
}
有人可以帮忙吗?
答案 0 :(得分:-1)
问题在于附加到lambda函数的角色权限。 我已经更改了角色的权限,现在我能够成功执行相同的功能。