AWS CLI-Befehlszeile: Verwendung von "--query" zur Ausgabe mehrerer Quellzeilen

11

Ich verwende aws-cli Version 1.7.8, um die --queryAusgabe zum Erstellen eines Datensatzes zu erhalten, der aus mehreren Zeilen abgeleitet ist. In diesem Fall versuche ich, spezifische Informationen von zu erhalten describe-instances.

Im describe-instancesBefehl erhalten wir Zeilen / Abschnitte , die Bezug zu nehmen RESERVATIONS, INSTANCESund TAGS.

Ich kann einfach den neuen AWS CLI-Befehl ausführen, um die Informationen aus allen drei Zeilen einzeln abzurufen:

RESERVIERUNG Linie:

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

INSTANZ Zeile:

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

TAG-Linie:

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

Ich kann diese 3 Befehle ausführen und die Ergebnisse zu einem Datensatz verketten.

Weiß jemand, ob es eine Möglichkeit gibt, dies als EIN (1) Befehl anstelle von 3 verschiedenen Befehlen auszuführen?

Ich habe PIPE und andere Syntaxformen ausprobiert, kann aber noch keine gute Lösung finden.

Kann ich die entsprechende Ausgabe dieser 3 Befehle mit einem einzigen Befehl erhalten?

Chris Charles
quelle
Führen Sie die Windows-Befehle an einer Powershell-Eingabeaufforderung in Windows aus. Dann werden Ergebnisse zurückgegeben.
Patrick Parks

Antworten:

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

Dieser Befehl druckt Instanz-ID, AMI-ID, Schlüssel- und Wert-Tags. Weitere Beispiele finden Sie hier: Steuern der Befehlsausgabe über die AWS-Befehlszeilenschnittstelle

Peycho Dimitrov
quelle
Das Hinzufügen einer kurzen Beschreibung der Funktionsweise des Befehls kann hilfreich sein.
Dawud
Würde dies nur in einer nicht auf Windows basierenden CLI funktionieren? Ich habe es in Windows CMD versucht - es hat nicht funktioniert, aber - in CentOS - es hat funktioniert.
Naveen Vijay
Wo ist eine Dokumentation zur Abfragesyntax ???
cosbor11
Ja. Hier sind Sie: docs.aws.amazon.com/cli/latest/userguide/…
Peycho Dimitrov
Die AWS-Dokumente enthalten nur einige Beispiele. Gibt es keine vollständige Spezifikation für die Syntax?
cosbor11
1

Unter Windows (cmd.exe, cmder.exe usw.) müssen doppelte Anführungszeichen (") anstelle von einfachen Anführungszeichen (') um die Abfragezeichenfolge verwendet werden. Andernfalls druckt die Konsole einfach den Pfad in der Abfrage und nicht einmal einen Fehler erzeugen.

Jason
quelle