【问题标题】:AWS StepFunction - Failed to update state machineAWS StepFunction - 无法更新状态机
【发布时间】:2019-11-27 12:37:51
【问题描述】:

我有一个可以工作的 StepFunction 状态机,它有 4 个步骤触发 4 个 Lambda。

由于其中一个步骤将是一项运行时间较长的任务,因此我决定将其中一个 Lambda 转换为 Fargate 任务。

配置 ECS 和 Fargate 任务后,我尝试更新状态机定义,但收到错误:Failed to update state machine.,没有任何其他消息。

我的状态机定义似乎是有效的,只是没有实际的 ARN:

{
  "Comment": "My Workflow",
  "StartAt": "Step1",
  "States": {
    "Step1": {
      "Type": "Task",
      "Resource": "copy-pasted-arn-of-lambda",
      "Next": "Step2"
    },
    "Step2": {
      "Type": "Task",
      "Resource": "arn:aws:states:::ecs:runTask.sync",
      "Parameters": {
        "LaunchType": "FARGATE",
        "Cluster": "copy-pasted-arn-of-cluster",
        "TaskDefinition": "copy-paster-arn-of-task-definition",
        "Overrides": {
          "ContainerOverrides": [
            {
              "Name": "container-name",
              "Command.$": "$.commands"
            }
          ]
        }
      },
      "Next": "Step3",
      "Catch": [
        {
          "ErrorEquals": [
            "States.ALL"
          ],
          "Next": "Step4"
        }
      ]
    },
    "Step3": {
      "Type": "Task",
      "Resource": "copy-pasted-arn-of-lambda",
      "Next": "Step4"
    },
    "Step4": {
      "Type": "Task",
      "Resource": "copy-pasted-arn-of-lambda",
      "End": true
    }
  }
}

这是错误的屏幕截图:

有什么想法吗?我一直在努力解决这个问题。

【问题讨论】:

    标签: aws-step-functions


    【解决方案1】:

    与 AWS 一样,它是权限。

    我忘记允许我的 StepFunction 访问事件,这是必需的:

    "Action": [
      "events:PutTargets",
      "events:PutRule",
      "events:DescribeRule"
    ],
    

    https://docs.aws.amazon.com/step-functions/latest/dg/ecs-iam.html

    但是,我真的很感激更详细的错误消息!

    【讨论】:

    • 确实,在学习AWS的过程中,权限部分占了大部分时间!
    猜你喜欢
    • 2019-06-02
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2020-01-15
    • 2022-01-22
    • 1970-01-01
    相关资源
    最近更新 更多