aws-cli - 如何停止特定状态机的所有正在运行的 Step Functions?
问题描述
我不小心启动了很多步进功能,现在希望终止所有这些功能。
使用 CLI 或 Web 控制台有什么聪明的方法吗?
解决方案
好的,让我们使用 CLI 执行此操作。
您可以使用以下命令停止执行:
aws stepfunctions stop-execution \
--execution-arn <STEP FUNCTION EXECUTION ARN>
但由于我开始执行的执行次数过多,因此能够列出状态机的所有正在运行的执行情况会很有帮助:
aws stepfunctions list-executions \
--state-machine-arn <STEP FUNCTION ARN> \
--status-filter RUNNING \
--output text
接下来,确保仅列出这些执行的执行 ARN,并在单独的行上列出每个执行 ARN:
aws stepfunctions list-executions \
--state-machine-arn <STEP FUNCTION ARN> \
--status-filter RUNNING \
--query "executions[*].{executionArn:executionArn}" \
--output text
现在,我们将其放在一个命令中,使用xargs
:
aws stepfunctions list-executions \
--state-machine-arn <STEP FUNCTION ARN> \
--status-filter RUNNING \
--query "executions[*].{executionArn:executionArn}" \
--output text | \
xargs -I {} aws stepfunctions stop-execution \
--execution-arn {}
现在应该关闭所有正在运行的执行。确保您小心地执行此操作,以免弄乱生产!
需要注意的是,如果您使用 aws-vault 来最大程度地降低这种风险,那么上面的命令将如下所示:
aws-vault exec test-env -- aws stepfunctions list-executions \
--state-machine-arn <STEP FUNCTION ARN> \
--status-filter RUNNING \
--query "executions[*].{executionArn:executionArn}" \
--output text | \
xargs -I {} aws-vault exec test-env -- aws stepfunctions stop-execution \
--execution-arn {}
推荐阅读
- php - wordpress 中的身份验证和授权插件?
- c# - 具有依赖注入的 C# 工厂模式
- mysql - 有没有什么方法可以在NodeJS-MySQL中插入一个带有前导零的数字的行?
- azure-sql-database - Azure数据库自动备份后如何运行sql脚本
- python - 您如何查看已上传到 Heroku 的 Django 应用程序中的 PostgreSQL 数据库和表?
- javascript - 获取请求 axios React js useEffect 不起作用(找不到模块'./undefined')
- javascript - 如何在堆积条形图中显示 json api 数据值?
- java - 为什么 Eclipse 建议使用 ArrayList
- php - 带数组的php mysqli查询
- regex - 在 Grep for Windows 命令行中使用正则表达式