Línea de comandos de la CLI de AWS: cómo usar "--query" para generar varias líneas de origen


12

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?


Ejecute los comandos de Windows desde un indicador de PowerShell en Windows. Entonces devolverá resultados.
Patrick Parks

Respuestas:


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

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


Agregar una breve descripción de lo que está haciendo el comando podría ser útil.
Dawud

¿funcionaría esto solo en una CLI no basada en Windows? Lo probé en Windows CMD, pero no lo hizo, en CentOS funcionó.
Naveen Vijay

¿Dónde hay alguna documentación sobre la sintaxis de la consulta?
cosbor11


Los documentos de AWS solo tienen algunos ejemplos. ¿No hay una especificación completa sobre la sintaxis?
cosbor11

1

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.