Estoy usando aws-cli versión 1.7.8 para obtener la --query
salida 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-instances
comando, obtenemos líneas / secciones que se refieren a RESERVATIONS
, INSTANCES
y 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