AWS CLI Komut Satırı: Birden çok kaynak satırını çıktılamak için “--query” nasıl kullanılır


12

--queryBirden çok satırdan türetilmiş bir kayıt oluşturmak için çıktı almak için aws-cli sürüm 1.7.8 kullanıyorum . Bu durumda belirli bilgileri almaya çalışıyorum describe-instances.

In describe-instanceskomuta, biz bakın çizgiler / bölümler olsun RESERVATIONS, INSTANCESve TAGS.

Her üç satırdan tek tek bilgileri almak için yeni AWS CLI komutunu çalıştırabilirim:

REZERVASYON hattı:

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

INSTANCE hattı:

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

ETİKET satırı:

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

Bu 3 komutu çalıştırabilir ve sonuçları 1 kayıt oluşturacak şekilde birleştirebilirim.

Herkes bunu 3 farklı komut yerine bir (1) komut olarak çalıştırmak için bir yolu olup olmadığını biliyor mu?

PIPE ve diğer sözdizimi biçimlerini denedim, ancak henüz iyi bir çözüm bulamıyorum.

Bu 3 komutun eşdeğer çıktısını tek bir komuttan alabilir miyim?


Windows komutlarını Windows'taki bir powershell isteminden çalıştırın. Sonra sonuçları döndürür.
Patrick Parks

Yanıtlar:


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

Bu komut, Örnek Kimliği, AMI Kimliği, Anahtar ve Değer Etiketleri yazdırır. Burada daha fazla örnek görebilirsiniz: Komut Çıktısını AWS Komut Satırı Arayüzünden Kontrol Etme


Komutun ne yaptığına dair kısa bir açıklama eklemek yardımcı olabilir.
dawud

Bu yalnızca Windows tabanlı olmayan CLI'de çalışır mı? Windows CMD'de denedim - olmadı - CentOS'ta işe yaradı.
Naveen Vijay

Sorgu sözdizimiyle ilgili bazı belgeler nerede ???
cosbor11


AWS belgelerinin sadece birkaç örneği vardır. Sözdiziminde tam bir spesifikasyon yok mu?
cosbor11

1

Windows (cmd.exe, cmder.exe, vb.) İle, sorgu dizesi etrafında tek tırnak (') yerine çift tırnak (") kullanılmalıdır.Aksi takdirde, konsol sorgudaki yolu yazdırır ve hatta hata yarat.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.