Je suis le tutoriel AWS Step Functions . L'ensemble du processus de la machine d'état est comme ça.
J'ai un rôle appelé step_functions_basic_execution avec la politique AWSLambdaRole
. La machine d'état de ma fonction Step utilise ce rôle.
Ma fonction de pas est
{
"Comment": "A simple AWS Step Functions state machine that automates a call center support session.",
"StartAt": "Open Case",
"States": {
"Open Case": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-west-2:829495130000:function:OpenCaseFunction",
"Next": "Assign Case"
},
...
}
La fonction Lambda correspondante Open Case est
exports.handler = (event, context, callback) => {
// Create a support case using the input as the case ID, then return a confirmation message
var myCaseID = event.inputCaseID;
var myMessage = "Case " + myCaseID + ": opened...";
var result = {Case: myCaseID, Message: myMessage};
callback(null, result);
};
Lorsque j'ai essayé de l'exécuter, il a échoué à la première étape Open Case .
L'entrée est
{
"inputCaseID": "001"
}
Cela génère une erreur:
States.TaskFailed
Ni le principal du service global states.amazonaws.com, ni le principal régional n'est autorisé à assumer le rôle fourni.
Toute idée de comment résoudre ce problème? Merci
Vérifiez tout à partir des étapes 2, 3 et 4 de cette page. Malheureusement, le message d'erreur n'est pas suffisamment détaillé pour que nous sachions exactement ce qui se passe, mais c'est quelque chose avec la configuration d'IAM.