【发布时间】:2020-11-29 16:27:18
【问题描述】:
我们正在从 stepfunction 创建 EMR 集群。以下是它执行的步骤
- 创建集群
- 预处理(如安装脚本等)
- 提交作业
- 终止集群
这里的问题是当 #3 步骤失败(提交作业)时,它不会在作业失败时终止集群。 当作业成功时,它会终止集群。下面是步骤的定义(忽略语法)
"Submit_Job": {
"Type": "Task",
"Resource": "arn:aws:states:::elasticmapreduce:addStep.sync"
"Parameters": {
"ClusterId.$": "$.FormattedInputsForEmr.ClusterId",
"Step": {
"Name": "Start Job",
"ActionOnFailure": "CONTINUE",
"HadoopJarStep": {
"Jar": "command-runner.jar",
"Args.$": "$.FormattedInputsForEmr.Args[*][*]"
}
}
}
现在当我尝试 ActionOnFailure=TERMINATE_CLUSTER 时,它给了我以下错误
Action on Failure 'TERMINATE_CLUSTER' is invalid Status Code: 400 ErrorCode: ValidationException
我在这里缺少什么
【问题讨论】:
-
你用什么来完成步骤,boto3?找不到
Submit_Job的确切文档 -
@A.B Submit_Job 只是一个名字。
-
您能否验证是否从控制台启用了终止保护,就像我在我的回答中提到的那样
标签: amazon-web-services amazon-emr aws-step-functions