J'essaie d'appeler une fonction lambda à partir de noeud.
var aws = require('aws-sdk');
var lambda = new aws.Lambda({
accessKeyId: 'id',
secretAccessKey: 'key',
region: 'us-west-2'
});
lambda.invoke({
FunctionName: 'test1',
Payload: JSON.stringify({
key1: 'Arjun',
key2: 'kom',
key3: 'ath'
})
}, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
Les clés sont pour un utilisateur IAM. L'utilisateur a des stratégies AWSLambdaExecute
et AWSLambdaBasicExecutionRole
attachées.
Je reçois une erreur d'autorisation: AccessDeniedException: User: arn:aws:iam::1221321312:user/cli is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:us-west-2:1221321312:function:test1
J'ai lu la documentation et plusieurs blogs, mais je ne parviens pas à autoriser cet utilisateur à appeler la fonction lambda. Comment amener cet utilisateur à invoquer lambda?
Merci.