Командная строка интерфейса командной строки 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


В документации AWS есть только несколько примеров. Нет ли полной спецификации синтаксиса?
cosbor11

1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.