4

我正在尝试删除不再需要的过时步进功能,但是它已经在“删除”阶段停留了几个星期。但是从控制台它说有 0 个正在运行的执行。如果当前没有正在运行的执行,如何删除状态机?

4

1 回答 1

11

在撰写本文时,AWS Step Functions 控制台仅提取最近的 1000 次执行。因此,当它说 0 个正在运行的执行时,它只是描述了最后 1000 次执行。

为了查看所有当前正在运行的执行,您需要使用 AWS CLI。您可以通过运行(在 unix shell 中)来做到这一点:

export STATE_MACHINE_ARN=#Enter the state machine arn, arn:aws:states:...    
aws stepfunctions list-executions --state-machine-arn $STATE_MACHINE_ARN --status-filter RUNNING --output text

要自动删除每个正在运行的执行,请运行:

aws stepfunctions list-executions --state-machine-arn $STATE_MACHINE_ARN --status-filter RUNNING --output text | awk '{print $2}' | xargs -n 1 aws stepfunctions stop-execution --error "Manual Abort" --execution-arn

您将看到返回的每个执行的停止时间。完成后,您可以使用

aws stepfunctions delete-state-machine --state-machine-arn $STATE_MACHINE_ARN
于 2017-10-19T02:50:09.623 回答