AWS CLI Command Line: Cara menggunakan "--query" untuk menampilkan beberapa baris sumber


12

Saya menggunakan aws-cli versi 1.7.8 untuk mendapatkan --queryoutput untuk membuat satu record yang diturunkan dari beberapa baris. Dalam hal ini saya mencoba mendapatkan informasi spesifik dari describe-instances.

Dalam describe-instancesperintah, kita mendapatkan garis / bagian yang merujuk kepada RESERVATIONS, INSTANCES, dan TAGS.

Saya dapat menjalankan perintah AWS CLI baru untuk mendapatkan informasi dari ketiga baris secara individual:

Baris PEMESANAN:

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

Baris INSTANCE:

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

Klimaks:

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

Saya dapat menjalankan 3 perintah ini, dan menggabungkan hasilnya untuk membentuk 1 catatan.

Adakah yang tahu kalau ada cara saya bisa menjalankan ini sebagai SATU (1) perintah, bukannya 3 perintah yang berbeda?

Saya sudah mencoba PIPE dan bentuk sintaks lainnya, tetapi saya belum dapat menemukan solusi yang baik.

Bisakah saya mendapatkan output setara dari 3 perintah ini dari satu perintah?


Jalankan perintah Windows dari prompt PowerShell di Windows. Maka akan mengembalikan hasilnya.
Patrick Parks

Jawaban:


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

Perintah ini akan mencetak Instance Id, AMI ID, Key dan Value Tag. Anda dapat melihat lebih banyak contoh di sini: Mengontrol Output Perintah dari Antarmuka Baris Perintah AWS


Menambahkan deskripsi singkat tentang apa yang dilakukan perintah mungkin bisa membantu.
dawud

Apakah ini hanya akan bekerja di CLI berbasis non-windows? Saya mencobanya di Windows CMD - tidak - di CentOS - berhasil.
Naveen Vijay

Di mana ada beberapa dokumentasi pada sintaks kueri ???
cosbor11


Dokumen AWS hanya memiliki beberapa contoh. Apakah tidak ada spesifikasi lengkap tentang sintaks?
cosbor11

1

Dengan Windows (cmd.exe, cmder.exe, dll.), Seseorang harus menggunakan tanda kutip ganda (") alih-alih tanda kutip tunggal (') di sekitar string kueri. Jika tidak, konsol hanya mencetak jalur dalam kueri dan bahkan tidak menghasilkan kesalahan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.