Командная строка интерфейса командной строки AWS: как использовать «--query» для вывода нескольких строк исходного текста

12

Я использую aws-cli версии 1.7.8, чтобы получить --queryвыходные данные для создания одной записи, полученной из нескольких строк. В этом случае я пытаюсь получить конкретную информацию от describe-instances.

В describe-instancesкоманде, мы получаем линию / секцию , которые относятся к RESERVATIONS, INSTANCESи TAGS.

Я могу просто запустить новую команду CLI AWS, чтобы получить информацию из всех трех строк по отдельности:

БРОНИРОВАНИЕ:

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'

Линия ИНСТАНС:

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 запись.

Кто-нибудь знает, есть ли способ, которым я могу запустить это как ОДНА (1) команда, а не 3 различных команды?

Я пробовал PIPE и другие формы синтаксиса, но пока не могу найти хорошего решения.

Могу ли я получить эквивалентный вывод этих 3 команд из одной команды?

Крис Чарльз
источник
Запустите команды Windows из командной строки powershell в Windows. Тогда он вернет результаты.
Патрик Паркс

Ответы:

22
aws ec2 describe-instances --instance-id i-77777777 \
  --query 'Reservations[*].Instances[*].[InstanceId,ImageId,Tags[*]]' \
  --output text

Эта команда напечатает идентификатор экземпляра, идентификатор AMI, теги ключа и значения. Вы можете увидеть больше примеров здесь: Управление выводом команд из интерфейса командной строки AWS

Пейчо Димитров
источник
Добавление краткого описания того, что делает команда, может быть полезным.
Дауд
это будет работать только в CLI не на базе Windows? Я попробовал это в Windows CMD - это не так, но - в CentOS - это сработало.
Навин Виджей
Где некоторая документация по синтаксису запроса ???
cosbor11
Да. Вот вы: docs.aws.amazon.com/cli/latest/userguide/…
Пейчо Димитров
В документации AWS есть только несколько примеров. Нет ли полной спецификации синтаксиса?
cosbor11
1

В Windows (cmd.exe, cmder.exe и т. Д.) Необходимо использовать двойные кавычки (") вместо одинарных кавычек (') вокруг строки запроса. В противном случае консоль просто печатает путь в запросе и даже не сгенерировать ошибку.

Джейсон
источник