AWS CLI 명령 줄 :“--query”를 사용하여 여러 소스 행을 출력하는 방법


12

--query여러 줄에서 파생 된 하나의 레코드를 생성 하기 위해 aws-cli 버전 1.7.8을 사용 하고 있습니다. 이 경우에서 특정 정보를 얻으려고합니다 describe-instances.

describe-instances명령 RESERVATIONS에서 INSTANCES,, 및 을 참조하는 행 / 섹션을 얻습니다 TAGS.

새로운 AWS CLI 명령을 간단히 실행하여 세 줄 모두에서 개별적으로 정보를 얻을 수 있습니다.

예약 라인 :

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].ReservationId'

인스턴스 라인 :

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[*].[Instances[*].[InstanceId,ImageId]]'

태그 라인 :

aws ec2 describe-instances --instance-ids i-xxxxxxxx --query 'Reservations[].Instances[].[Tags[?Key==이름]]'

이 3 개의 명령을 실행하고 결과를 연결하여 1 개의 레코드를 구성 할 수 있습니다.

누구든지 3 개의 별개의 명령 대신 이것을 하나의 명령으로 실행할 수있는 방법이 있는지 알고 있습니까?

PIPE 및 다른 형식의 구문을 시도했지만 아직 좋은 해결책을 찾을 수 없습니다.

단일 명령에서이 3 개의 명령과 동등한 출력을 얻을 수 있습니까?


Windows의 powershell 프롬프트에서 Windows 명령을 실행하십시오. 그런 다음 결과를 반환합니다.
Patrick Parks

답변:


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

이 명령은 인스턴스 ID, AMI ID, 키 및 값 태그를 인쇄합니다. 여기에서 더 많은 예제를 볼 수 있습니다 : AWS Command Line Interface에서 명령 출력 제어


명령이 수행하는 작업에 대한 간단한 설명을 추가하면 도움이 될 수 있습니다.
dawud

이것은 비 Windows 기반 CLI에서만 작동합니까? Windows CMD에서 시도했지만 CentOS에서는 그렇지 않았습니다.
Naveen Vijay

쿼리 구문에 대한 설명서는 어디에 있습니까 ???
cosbor11

예. 귀하는 다음과 같습니다 : docs.aws.amazon.com/cli/latest/userguide/…
Peycho Dimitrov

AWS 문서에는 몇 가지 예만 있습니다. 구문에 대한 전체 사양이 없습니까?
cosbor11

1

Windows (cmd.exe, cmder.exe 등)를 사용하는 경우 쿼리 문자열 주위에 작은 따옴표 ( ') 대신 큰 따옴표 ( ")를 사용해야합니다. 그렇지 않으면 콘솔에서 쿼리의 경로를 인쇄하기 만합니다. 오류를 생성하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.