AWS CLI Command Line: วิธีการใช้“ - แบบสอบถาม” เพื่อส่งออกหลายบรรทัดที่มา


12

ฉันใช้ aws-cli เวอร์ชัน 1.7.8 เพื่อรับ--queryเอาต์พุตเพื่อสร้างหนึ่งเร็กคอร์ดที่มาจากหลายบรรทัด describe-instancesในกรณีนี้ผมกำลังพยายามที่จะได้รับข้อมูลจาก

ในdescribe-instancesคำสั่งที่เราได้รับสาย / ส่วนที่อ้างถึงRESERVATIONS, และINSTANCESTAGS

ฉันสามารถเรียกใช้คำสั่ง 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 จากพรอมต์ PowerShell ใน Windows จากนั้นมันจะส่งคืนผลลัพธ์
Patrick Parks

คำตอบ:


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

คำสั่งนี้จะพิมพ์รหัสอินสแตนซ์ AMI ID คีย์และแท็กค่า คุณสามารถดูตัวอย่างเพิ่มเติมได้ที่นี่: การ ควบคุมเอาต์พุตคำสั่งจากอินเตอร์เฟสบรรทัดคำสั่ง AWS


การเพิ่มคำอธิบายสั้น ๆ เกี่ยวกับสิ่งที่คำสั่งกำลังทำอยู่อาจเป็นประโยชน์
dawud

สิ่งนี้จะใช้งานได้เฉพาะใน CLI ที่ไม่ใช่หน้าต่างหรือไม่ ฉันลองใน Windows CMD - มันไม่ได้ แต่ - ใน CentOS - มันใช้งานได้
Naveen Vijay

มีเอกสารเกี่ยวกับไวยากรณ์แบบสอบถามอยู่ที่ไหน
cosbor11

ใช่. คุณอยู่ที่นี่: docs.aws.amazon.com/cli/latest/userguide/…
Peycho Dimitrov

เอกสาร AWS มีเพียงบางตัวอย่างเท่านั้น มีข้อมูลจำเพาะทั้งหมดเกี่ยวกับไวยากรณ์หรือไม่
cosbor11

1

ด้วย Windows (cmd.exe, cmder.exe ฯลฯ ) เราต้องใช้เครื่องหมายคำพูดคู่ (") แทนเครื่องหมายคำพูดเดี่ยว (') รอบ ๆ สตริงข้อความมิฉะนั้นคอนโซลก็พิมพ์เส้นทางในแบบสอบถามและแม้แต่ สร้างข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.