สิ่งที่ฉันได้รับมากที่สุดคือการใช้คำสั่งต่อไปนี้
คำสั่งนี้จัดการเพื่อแสดงรายการทุกอินสแตนซ์
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
คำสั่งนี้จัดการเพื่อแสดงรายการที่อยู่ IP ส่วนตัว, รหัสอินสแตนซ์และแท็กทั้งหมดที่ฉันไม่ต้องการ ฉันแค่ต้องการชื่อ
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
ฉันไม่แน่ใจว่าทำไมฉันไม่สามารถใช้คำสั่งแบบนี้:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
คำสั่งนี้ใช้ได้ แต่จะแสดงชื่อคีย์แท็กทั้งหมด
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
] .Value []" เป็นตัวกรองสำหรับเอาต์พุตชื่อคีย์ค่าจะทำได้หลังจาก aws-cli v1.3.0 เท่านั้น และฉันใช้การรวมกันของ - ตัวกรองและ jq เพื่อให้ได้ผลลัพธ์ที่ฉันต้องการ คำสั่งที่ใกล้เคียงที่สุดคือ aws ec2 อธิบาย - อินสแตนซ์ --filters Name = vpc-id, Values = vpc-e2f17e8b | jq '.Reservations []. Instances [] | {PrivateIpAddress, InstanceId, Tags} 'ฉันแค่ต้องรู้วิธีอ้างอิง Key Key = ชื่อโดยใช้ jq