2017-09-09 2 views
0

문자 수와 특성 비교 : 나는 az 명령을 사용하여 오류를 의심으로내가 정확히 2 코어 모든 VM을 찾기 위해 노력하고

$ az vm list-sizes -o json --query "[?numberOfCores == 2]" 
az vm list-sizes: error: argument --query: invalid query value: '[?numberOfCores == 2]' 

, 나는 jp directly를 설치뿐만 아니라 오류 제공 :

,536,913 : 나는 백틱 ` 문자를 사용해야 할 것 같습니다, 대신 오류로 그냥 아무 결과를 제공하지 the jmespath specification에서
$ az vm list-sizes -o json | jp "[?numberOfCores == 2]" 
SyntaxError: Invalid token: tNumber 
[?numberOfCores == 2] 

$ az vm list-sizes -o json | head -n 20 
[ 
    { 
    "maxDataDiskCount": 4, 
    "memoryInMb": 123, 
    "name": "Standard_DS1", 
    "numberOfCores": 1, 
    "osDiskSizeInMb": 456, 
    "resourceDiskSizeInMb": 789 
    }, 
    { 
    "maxDataDiskCount": 8, 
    "memoryInMb": 123, 
    "name": "Standard_DS2", 
    "numberOfCores": 2, 
    "osDiskSizeInMb": 456, 
    "resourceDiskSizeInMb": 789 
    } 
] 

(나는 크기를 난독 나는 영업 비밀 또는 무언가를 공유하기 위해 MS에 의해 고소 싶지 않기 때문에 :
$ az vm list-sizes -o json | jp '[?numberOfCores == `2`]' 
[] 

이내가 필터링하기 위해 노력하고있어 (약칭 함) 반환 JSON입니다)

답변

1

귀하의 JMESPath 쿼리는 정확하지만 jp의 사제 버전이 만들어진 방법 (가 jp 바이너리를 구축하기위한 오래된 스크립트를 사용했다)에 문제가 발생했습니다. 이제 가정용 설치 버전 jp은 항상 https://github.com/jmespath/jp/releases의 서명 된 릴리스 바이너리를 사용합니다. 이러한 바이너리는 모든 커밋에서 테스트됩니다. homebrew를 사용하지 않는 경우 brew update && brew upgrade jp 또는 https://github.com/jmespath/jp/releases의 이진 파일을 사용할 수 있어야합니다.

+0

나는'jp'를 업데이트했고 현재 작동 중입니다. 그것은 내가 보았을 것 인 첫번째 장소가 아니다, 제비 뽑기 고맙다! – user3151902

관련 문제