Ich verwende aws-cli Version 1.7.8, um die --query
Ausgabe 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-instances
Befehl erhalten wir Zeilen / Abschnitte , die Bezug zu nehmen RESERVATIONS
, INSTANCES
und 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?
quelle
Antworten:
Dieser Befehl druckt Instanz-ID, AMI-ID, Schlüssel- und Wert-Tags. Weitere Beispiele finden Sie hier: Steuern der Befehlsausgabe über die AWS-Befehlszeilenschnittstelle
quelle
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.
quelle