Я использую aws-cli версии 1.7.8, чтобы получить --query
output для создания одной записи, полученной из нескольких строк. В этом случае я пытаюсь получить конкретную информацию от describe-instances
.
в describe-instances
команда, мы получаем строки / разделы, которые относятся к RESERVATIONS
, INSTANCES
, и TAGS
.
Я могу просто запустить новую команду CLI AWS, чтобы получить информацию из всех трех строк по отдельности:
Строка БРОНИРОВАНИЕ:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'
Строка INSTANCE:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'
Строка TAG:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==
название]]'
Я могу запустить эти 3 команды и объединить результаты в одну запись.
Кто-нибудь знает, есть ли способ запустить это как ОДНУ (1) команду вместо трех разных команд?
Я пробовал PIPE и другие формы синтаксиса, но пока не могу найти хорошего решения.
Могу ли я получить эквивалентный вывод этих трех команд из одной команды?
aws ec2 describe-instances --instance-id i-77777777 \
--query 'Reservations[*].Instances[*].[InstanceId,ImageId,Tags[*]]' \
--output text
Эта команда напечатает идентификатор экземпляра, идентификатор AMI, теги ключа и значения. Вы можете увидеть больше примеров здесь: Управление выводом команд из интерфейса командной строки AWS
В Windows (cmd.exe, cmder.exe и т. Д.) Необходимо использовать двойные кавычки (") вместо одинарных кавычек (') вокруг строки запроса. В противном случае консоль просто печатает путь в запросе и даже не генерировать ошибку.