【问题标题】:Check if task exist - AWS ECS检查任务是否存在 - AWS ECS
【发布时间】:2021-05-26 00:10:20
【问题描述】:

如果任务存在,如何从 cli 或使用 shell 脚本检查?

文档令人困惑。正在使用 --task-definition 选项作为家庭。

命令

TASK=$(aws ecs describe-task-definition --task-definition ${TASK_NAME}

说错了

An error occurred (ClientException) when calling the DescribeTaskDefinition operation: Unable to describe task definition.

有什么想法吗?

【问题讨论】:

  • 你能解决这个问题吗?

标签: aws-cli amazon-ecs


【解决方案1】:

这有帮助吗?

#!/bin/bash

ecs_arn=$1

aws_result=$(aws ecs describe-task-definition --task-definition "$ecs_arn" --query 'taskDefinition.[taskDefinitionArn,status]' --output json 2>/dev/null)

# is it present?
if [ $(echo "$aws_result" | grep -i "$ecs_arn" | wc -l) -ne 1 ]; then
    echo "task-definition $ecs_arn doesn't exist."
elif [ $(echo "$aws_result" | grep -i active | wc -l) -ne 1 ]; then
    echo "task-definition $ecs_arn exist but not active."
else
    echo "task-definition $ecs_arn exist and it's active."
fi

# end

将其保存为 bash 脚本并执行如下:

./script.sh "arn:aws:ecs:REGION-HERE:ACCOUNT-NAME:............."

您可以使用以下方法提取所有定义 ARN:

aws ecs list-task-definitions

我将 std 错误重定向到 /dev/null ,因为当任务不存在时,api 会返回类似你的错误。

您可以根据自己的需要修改验证。

使用的文档:https://docs.aws.amazon.com/cli/latest/reference/ecs/index.html

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 2022-11-25
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多