Estoy usando aws-cli versión 1.7.8 para obtener la --querysalida para crear un registro que se deriva de varias líneas. En este caso estoy tratando de obtener información específica de describe-instances.
En el describe-instancescomando, obtenemos líneas / secciones que se refieren a RESERVATIONS, INSTANCESy TAGS.
Simplemente puedo ejecutar el nuevo comando de AWS CLI para obtener la información de las tres líneas individualmente:
Línea de reserva:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'
Línea INSTANCE:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'
Línea TAG:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==Nombre]]'
Puedo ejecutar estos 3 comandos y concatenar los resultados para formar 1 registro.
¿Alguien sabe si hay una manera de que pueda ejecutar esto como UN (1) comando, en lugar de 3 comandos distintos?
He probado PIPE y otras formas de sintaxis, pero todavía no puedo encontrar una buena solución.
¿Puedo obtener la salida equivalente de estos 3 comandos de un solo comando?
fuente

Respuestas:
Este comando imprimirá ID de instancia, ID de AMI, etiquetas de clave y valor. Puede ver más ejemplos aquí: Control de salida de comandos desde la interfaz de línea de comandos de AWS
fuente
Con Windows (cmd.exe, cmder.exe, etc.), uno debe usar comillas dobles (") en lugar de comillas simples (') alrededor de la cadena de consulta. De lo contrario, la consola simplemente imprime la ruta en la consulta y ni siquiera generar un error
fuente