AWS Step Functionsチュートリアル に従っています。ステートマシンプロセス全体は次のようになります。
私はstep_functions_basic_executionというロールにポリシーAWSLambdaRole
を付けています。ステップ関数のステートマシンがこのロールを使用しています。
私のステップ関数は
{
"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"
},
...
}
対応するOpen CaseLambda関数は
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);
};
実行しようとしたところ、最初のステップで失敗しましたOpen Case。
入力は
{
"inputCaseID": "001"
}
エラーが発生します:
States.TaskFailed
グローバルサービスプリンシパルのstates.amazonaws.comも、リージョナルサービスプリンシパルも、提供された役割を引き受ける権限がありません。
それを修正する方法はありますか?ありがとう
そのページのステップ2、3、および4からすべてを再確認します。残念ながら、エラーメッセージは、何が起こっているのかを正確に把握するのに十分な詳細情報ではありませんが、IAMが設定されたものです。