首页 > 解决方案 > AWS Step Function 卡在某个状态

问题描述

我正在尝试使用状态机触发粘合作业。当它触发作业时,几秒钟后我可以从胶水控制台看到作业已完成,但在状态机中它仍然停留在进行中的状态,我等了 1 小时但它仍然保持在进行中状态。这是我的状态机,

状态机流程图

这是状态机的代码,

{
  "StartAt": "Glue: Convert Raw to JSON",
  "States": {
    "Glue: Convert Raw to JSON": {
      "Type": "Task",
      "Resource": "arn:aws:states:::glue:startJobRun.sync",
      "Parameters": {
        "JobName": "ConvertLandingToRaw",
        "Arguments": {
          "--bucket.$": "$.detail.requestParameters.bucketName",
          "--key.$": "$.detail.requestParameters.key"
        }
      },
      "Next": "Glue: Convert JSON to Parquet"
    },
    "Glue: Convert JSON to Parquet": {
      "Type": "Task",
      "Resource": "arn:aws:states:::glue:startJobRun.sync",
      "Parameters": {
        "JobName": "ConvertJsonToParquet"
      },
      "End": true
    }
  },
  "Comment": "Re-partitioning the data and changing the data type."
}

谁能帮我解决这个问题。我尝试了许多链接,但无法得到满意的答案。谢谢

标签: amazon-web-servicesaws-glueaws-step-functions

解决方案


就我而言,我将此策略添加到步骤函数 IAM 角色中以使其正常工作!

{
    "Statement": [
        {
            "Action": [
                "glue:StartJobRun",
                "glue:GetJobRun"
            ],
            "Effect": "Allow",
            "Resource": [
                "YourGlueJobArn"
            ]
        }
    ],
    "Version": "2012-10-17"
}

推荐阅读