Hon*_*iao 6 javascript node.js aws-lambda aws-step-functions
我正在关注AWS Step Functions 教程。整个状态机流程是这样的。
我有一个名为step_functions_basic_execution的角色,带有 policy AWSLambdaRole。我的 Step 函数状态机正在使用这个角色。
我的步骤功能是
{
"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"
},
...
}
Run Code Online (Sandbox Code Playgroud)
对应的Open Case Lambda 函数是
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);
};
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,它在第一步Open Case失败了。
输入是
{
"inputCaseID": "001"
}
Run Code Online (Sandbox Code Playgroud)
它抛出错误:
状态.任务失败
全球服务主体 states.amazonaws.com 和区域服务主体均无权承担所提供的角色。
知道如何修复它吗?谢谢
感谢 Joel Kinzel 的指导。这是我的错误。
我在步骤 2c 中做错了。
在 Create Roles 屏幕上,选择 AWS Service,选择 Step Functions
我选择了Lambda而不是Step Functions,即使我仍然添加了下一页AWSLambdaRole,但它没有帮助并导致问题。
| 归档时间: |
|
| 查看次数: |
8019 次 |
| 最近记录: |