Как удалить конечный автомат AWS Step Functions, застрявший в цикле "удаления"
Я пытаюсь удалить устаревшую пошаговую функцию, которая больше не нужна, однако она застряла в стадии "удаления" уже несколько недель. Однако из консоли говорится, что есть 0 запущенных выполнений. Как удалить конечный автомат, если в данный момент нет запущенных исполнений?
1 ответ
Консоль AWS Step Functions на момент написания этой статьи извлекала только последние 1000 последних выполнений. Поэтому, когда он говорит "0 запущенных выполнений", он просто описывает последние 1000 выполнений.
Чтобы увидеть все запущенные в настоящий момент выполнения, вам нужно использовать интерфейс командной строки AWS. Вы можете сделать это, запустив (в оболочке Unix):
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