Pål*_*erg 2 aws-cli aws-step-functions
我不小心启动了很多步骤函数,现在希望终止所有这些。
使用 CLI 或 Web 控制台执行此操作的任何智能方法?
Pål*_*erg 10
好的,让我们使用 CLI 执行此操作。
您可以使用以下方法停止执行:
aws stepfunctions stop-execution \
--execution-arn <STEP FUNCTION EXECUTION ARN>
Run Code Online (Sandbox Code Playgroud)
但是由于我开始了太多的执行,因此能够列出状态机的所有正在运行的执行是有帮助的:
aws stepfunctions list-executions \
--state-machine-arn <STEP FUNCTION ARN> \
--status-filter RUNNING \
--output text
Run Code Online (Sandbox Code Playgroud)
接下来,确保只列出这些执行的执行 ARN,并在单独的行中列出每个执行 ARN:
aws stepfunctions list-executions \
--state-machine-arn <STEP FUNCTION ARN> \
--status-filter RUNNING \
--query "executions[*].{executionArn:executionArn}" \
--output text
Run Code Online (Sandbox Code Playgroud)
现在,我们使用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 {}
Run Code Online (Sandbox Code Playgroud)
现在应该关闭所有正在运行的执行。请务必小心执行此操作,以免弄乱生产!
在这一点上,如果您使用 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 {}
Run Code Online (Sandbox Code Playgroud)
小智 5
对我来说 xargs 出现了问题,因为我的执行 arn 足够大。
\naws stepfunctions list-executions \\\n --state-machine-arn <ARN> \\\n --status-filter RUNNING \\\n --query "executions[*].{executionArn:executionArn}" \\\n --output text | \\\n awk '{print}' |\n while read line;\n do aws stepfunctions stop-execution --execution-arn $line\n done\nRun Code Online (Sandbox Code Playgroud)\n这对我来说很有效。感谢 @P\xc3\xa5l 布拉特伯格
\n| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |