Riga di comando della CLI AWS: come utilizzare "--query" per generare più righe di origine


12

Sto usando aws-cli versione 1.7.8 per ottenere l' --queryoutput per creare un record derivato da più righe. In questo caso sto cercando di ottenere informazioni specifiche da describe-instances.

Nel describe-instancescomando, otteniamo linee / sezioni che fanno riferimento a RESERVATIONS, INSTANCESe TAGS.

Sono in grado di eseguire semplicemente il nuovo comando della CLI AWS per ottenere le informazioni da tutte e tre le linee individualmente:

Linea PRENOTAZIONE:

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

Linea INSTANCE:

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

Linea TAG:

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

Posso eseguire questi 3 comandi e concatenare i risultati per formare 1 record.

Qualcuno sa se c'è un modo in cui posso eseguire questo come UNO (1) comando, invece di 3 comandi distinti?

Ho provato PIPE e altre forme di sintassi, ma non sono ancora riuscito a trovare una buona soluzione.

Posso ottenere l'output equivalente di questi 3 comandi da un singolo comando?


Esegui i comandi di Windows da un prompt di PowerShell in Windows. Quindi restituirà risultati.
Patrick Parks,

Risposte:


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

Questo comando stampa ID istanza, ID AMI, tag chiave e valore. Puoi vedere altri esempi qui: Controllo dell'output dei comandi dall'interfaccia della riga di comando di AWS


L'aggiunta di una breve descrizione di ciò che il comando sta facendo potrebbe essere utile.
Dawud,

funzionerebbe solo nella CLI non basata su Windows? L'ho provato in Windows CMD - ma non - ma in CentOS - ha funzionato.
Naveen Vijay,

Dov'è la documentazione sulla sintassi della query ???
cosbor11,


I documenti AWS hanno solo alcuni esempi. Non c'è una specifica completa sulla sintassi?
cosbor11,

1

Con Windows (cmd.exe, cmder.exe, ecc.), È necessario utilizzare virgolette doppie (") anziché virgolette singole (') attorno alla stringa della query. In caso contrario, la console stampa semplicemente il percorso nella query e nemmeno genera un errore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.