Wiersz polecenia AWS CLI: jak używać „--query” do wyświetlania wielu linii źródłowych


12

Korzystam z aws-cli w wersji 1.7.8, aby uzyskać dane --querywyjściowe w celu utworzenia jednego rekordu pochodzącego z wielu wierszy. W tym przypadku staram się uzyskać określone informacje describe-instances.

W describe-instancespoleceniu mamy linie / odcinki, które odnoszą się do RESERVATIONS, INSTANCESi TAGS.

Jestem w stanie po prostu uruchomić nowe polecenie AWS CLI, aby uzyskać informacje ze wszystkich trzech wierszy indywidualnie:

REZERWACJA:

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

Linia INSTANCE:

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'

Linia TAG:

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==Imię]]'

Mogę uruchomić te 3 polecenia i połączyć wyniki w jeden rekord.

Czy ktoś wie, czy istnieje sposób, w jaki mogę uruchomić to polecenie jako JEDEN (1) zamiast 3 różnych poleceń?

Próbowałem PIPE i innych form składni, ale jak dotąd nie jestem w stanie znaleźć dobrego rozwiązania.

Czy mogę uzyskać równoważne wyjście tych 3 poleceń z jednego polecenia?


Uruchom polecenia systemu Windows z monitu programu PowerShell w systemie Windows. Następnie zwróci wyniki.
Patrick Parks,

Odpowiedzi:


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

To polecenie wydrukuje identyfikator wystąpienia, identyfikator AMI, tagi klucza i wartości. Możesz zobaczyć więcej przykładów tutaj: Kontrolowanie wyników poleceń z interfejsu wiersza poleceń AWS


Pomocne może być dodanie krótkiego opisu działania polecenia.
dawud

czy działałoby to tylko w CLI innym niż Windows? Próbowałem w Windows CMD - nie udało się - w CentOS - działało.
Naveen Vijay

Gdzie jest trochę dokumentacji dotyczącej składni zapytania ???
cosbor11


Dokumenty AWS zawierają tylko kilka przykładów. Czy nie ma pełnej specyfikacji w składni?
cosbor11

1

W systemie Windows (cmd.exe, cmder.exe itp.) Należy używać podwójnych cudzysłowów („) zamiast pojedynczych cudzysłowów (') wokół ciągu zapytania. W przeciwnym razie konsola po prostu drukuje ścieżkę w zapytaniu i nawet nie wygenerować błąd.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.