gpt4 book ai didi

bash - 通过 CLI 在 AWS ECS 上停止任务(程序输出作为参数输入 bash)

转载 作者:行者123 更新时间:2023-11-29 08:57:32 25 4
gpt4 key购买 nike

我正在尝试通过 CLI 终止 ECS 中的任务。

我可以通过执行获取任务名称:

aws ecs list-tasks --cluster "my-cluster" --service-name "my-service" | jq .taskArns[0]

哪些输出:

"arn:aws:ecs:REGION:ACCOUNT-ID:task/TASK-GUID"

作为字符串的任务的完整 ARN(我有一个 JSON 的全局默认输出)。

我可以通过执行来终止任务:

aws ecs stop-task --cluster "my-cluster" --task "task-arn"

但是当我尝试合并它时:

aws ecs stop-task --cluster "my-cluster" --task $(aws ecs list-tasks --cluster "my-cluster" --service-name "my-service" | jq .taskArns[0])

我得到:

An error occurred (InvalidParameterException) when calling the StopTask operation: taskId longer than 36.

我知道这可能是 bash 程序输出/参数输入插值,但我已经查过了,无法深入了解它。

最佳答案

AWS cli 本质上内置了 jq,因此查询任务 arn 的更好(更简单)的方法是:

aws ecs list-tasks --cluster "my-cluster" --service "my-service" --output text --query taskArns[0]

关于bash - 通过 CLI 在 AWS ECS 上停止任务(程序输出作为参数输入 bash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44632342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com