Estou usando o aws-cli versão 1.7.8 para obter a --query
saída para criar um registro que é derivado de várias linhas. Nesse caso, estou tentando obter informações específicas describe-instances
.
No describe-instances
comando, temos linhas / seções que se referem a RESERVATIONS
, INSTANCES
e TAGS
.
Sou capaz de simplesmente executar o novo comando da AWS CLI para obter as informações de todas as três linhas individualmente:
Linha de reserva:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'
Linha INSTANCE:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'
Linha TAG:
aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==
Nome]]'
Eu posso executar esses 3 comandos e concatenar os resultados para formar 1 registro.
Alguém sabe se existe uma maneira de executar isso como um (1) comando, em vez de três comandos distintos?
Eu tentei o PIPE e outras formas de sintaxe, mas ainda não consegui encontrar uma boa solução.
Posso obter a saída equivalente desses 3 comandos em um único comando?
fonte
Respostas:
Este comando imprimirá o ID da instância, o ID da AMI, as tags de chave e valor. Você pode ver mais exemplos aqui: Controlando a saída de comando da interface de linha de comando da AWS
fonte
No Windows (cmd.exe, cmder.exe, etc.), é necessário usar aspas duplas (") em vez de aspas simples (') ao redor da string de consulta. Caso contrário, o console simplesmente imprime o caminho na consulta e nem sequer gerar um erro.
fonte