Командний рядок AWS CLI: Як використовувати "- запит" для виведення декількох рядків джерела


12

Я використовую aws-cli версії 1.7.8, щоб отримати --queryвихід, щоб створити одну запис, що виводиться з декількох рядків. У цьому випадку я намагаюся отримати конкретну інформацію describe-instances.

В describe-instancesкоманді, ми отримуємо лінію / секцію , які відносяться до RESERVATIONS, INSTANCESі TAGS.

Я можу просто запустити нову команду AWS CLI, щоб отримати інформацію з усіх трьох рядків окремо:

Рядок резервування:

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

Хтось знає, чи є спосіб, як я можу виконати цю команду як ONE (1), замість 3 різних команд?

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

Чи можу я отримати еквівалентний вихід цих 3 команд від однієї команди?


Запустіть команди Windows з підказки на панель потужностей у Windows. Тоді це поверне результати.
Патрік Паркс

Відповіді:


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

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


Додавання короткого опису того, що команда виконує, може бути корисним.
dawud

це буде працювати тільки в CLI, що не базується на вікнах? Я спробував це в Windows CMD - не вдалося, але в CentOS - він працював.
Naveen Vijay

Де знаходиться якась документація на синтаксис запиту ???
cosbor11


Документи AWS мають лише кілька прикладів. Чи не існує повної специфікації на синтаксис?
cosbor11

1

У Windows (cmd.exe, cmder.exe тощо) потрібно використовувати подвійні лапки (") замість одинарних лапок (") навколо рядка запиту. Інакше консоль просто надрукує шлях у запиті і навіть не буде генерувати помилку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.