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.