gpt4 book ai didi

amazon-web-services - 如何在 aws-cli 中对 `list-tasks` 的结果进行排序?

转载 作者:行者123 更新时间:2023-12-04 09:57:43 25 4
gpt4 key购买 nike

我有几个任务正在运行我想获得最新的(最后开始的任务,最后创建时间)任务 arn。我正在使用这个命令

aws ecs list-tasks --cluster {cluster} --family {family} --desired-status 'STOPPED'

经过一些探索后,我了解了sort_by。我试过了

aws ecs list-tasks --cluster {cluster} --family {family} --desired-status 'STOPPED' --query "sort_by(taskArns, &CreatedAt)"

但是这给出了错误

In function sort_by(), invalid type for value: <some_task_arn>, expected one of: ['string', 'number'], received: "null"

最佳答案

list-tasks 不会为您提供该信息。必须同时使用 list-tasksdescribe-tasks

我将在我的集群上提供示例,任务状态为RUNNING。您将必须根据需要对其进行调整

<强>1。获取任务列表

task_arns=$(aws ecs list-tasks --cluster ${cluster[Name]} \
--desired-status 'RUNNING' \
--query 'taskArns' --output text)

echo ${task_arns}

应该给出你的任务的 Arns 列表,例如:

arn:aws:ecs:us-east-1:275795381673:task/0053c603-a6c9-4044-89f5-b0edc8f6de3f arn:aws:ecs:us-east-1:275795381673:task/0b4626ea-0f2b-4c99-9e90-010e8a0c8ad3 arn:aws:ecs:us-east-1:275795381673:task/0d4aa5f2-f547-45ad-b1f8-ed84ef1d678c arn:aws:ecs:us-east-1:275795381673:task/190a320f-4b68-497a-921e-439460447d45 arn:aws:ecs:us-east-1:275795381673:task/c979f4a2-3665-4c56-93c6-e9b88f6b3519

<强>2。获取排序任务 Arns

aws ecs describe-tasks --cluster ${cluster[Name]} \
--tasks ${task_arns} \
--query "tasks[] | reverse(sort_by(@, &createdAt)) | [].[createdAt,taskArn]" \
--output table

应该给,例如:

----------------------------------------------------------------------------------------------------
| DescribeTasks |
+----------------+---------------------------------------------------------------------------------+
| 1589888493.15 | arn:aws:ecs:us-east-1:275795381673:task/c979f4a2-3665-4c56-93c6-e9b88f6b3519 |
| 1589888501.348| arn:aws:ecs:us-east-1:275795381673:task/190a320f-4b68-497a-921e-439460447d45 |
| 1589888499.438| arn:aws:ecs:us-east-1:275795381673:task/0d4aa5f2-f547-45ad-b1f8-ed84ef1d678c |
| 1589888500.312| arn:aws:ecs:us-east-1:275795381673:task/0b4626ea-0f2b-4c99-9e90-010e8a0c8ad3 |
| 1589888497.701| arn:aws:ecs:us-east-1:275795381673:task/0053c603-a6c9-4044-89f5-b0edc8f6de3f |
+----------------+---------------------------------------------------------------------------------+

<强>3。获取最后一个元素排序的任务 Arns

aws ecs describe-tasks --cluster ${cluster[Name]} \
--tasks ${task_arns} \
--query "tasks[] | reverse(sort_by(@, &createdAt)) | [-1].[taskArn]" \
--output text

应该给:

arn:aws:ecs:us-east-1:275795381673:task/0053c603-a6c9-4044-89f5-b0edc8f6de3f

关于amazon-web-services - 如何在 aws-cli 中对 `list-tasks` 的结果进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61889595/

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