#bash #amazon-web-services #amazon-ecs
Вопрос:
Я хотел бы подключиться к своим контейнерам с помощью команды aws ecs выполнить контейнер
aws ecs execute-command --cluster <cluster> --task <task_id> --container <container_name> --interactive --command "/bin/bash"
В настоящее время мне нужно перейти на панель управления aws и получить идентификатор задачи, но недавно я понял, что могу просто использовать
aws ecs list-tasks --cluster <cluster> --family <container> | grep -e "arn"
** Обратите внимание, что мне все еще нужно получить фактический идентификатор из результата
Я хотел бы запустить второй и использовать выходные данные для вызова первого
Я пытался:
aws ecs list-tasks --cluster <cluster>--family <family> | grep -e "arn" | aws ecs execute-command --cluster <cluster> --task $1 --container <container> --interactive --command "/bin/bash"
и
aws ecs execute-command --cluster <cluster>--task $(aws ecs list-tasks --cluster <cluster> --family <task-family> | grep -e "arn" | awk '{print $1}') --container <container-name> --interactive --command "/bin/bash"
есть какие-нибудь идеи ?
Комментарии:
1. docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html
Ответ №1:
Это некрасиво, но это сработало
alias connect-to-app="aws ecs execute-command --cluster <cluster> --task "$(aws ecs list-tasks --cluster <cluster> --family <family> | grep -e "arn" | grep -o '/<cluster>/w*' | sed "s@/<cluster>/@@g")" --container <container> --interactive --command "/bin/bash""