aws 결과물을 필터링할 때 --query 옵션을 이용할 수 있다. 이 때 사용하는 문법이 JMESPATH 라는 문법이다.

json : {"a": {"b": {"c": {"d": "value"}}}}

query : a.b.c.d

result : "value"

Python, Javascript, Java 등 다양한 언어 library 가 지원된다.

홈페이지 : JMESPATH

aws cli 결과물을 json 형태로 저장해서 처리하려고 하는데 python 이나 powershell 을 쓰기 싫었다. 윈도우즈 명령줄에서 처리하려고 하니 cli 형태의 jp 라는 프로그램이 있었다.

$ echo '{"key": "value"}' | jp key
"value"

$ echo '{"foo": {"bar": ["a", "b", "c"]}}' | jp foo.bar[1]
"b"

$ echo '{"foo": {"bar": "baz"}}' > /tmp/input.json
$ jp -f /tmp/input.json foo.bar
"baz"

$ export JP_UNQUOTED=true
$ curl -s https://api.github.com/repos/golang/go/events | jp --unquoted [0].actor.url
https://api.github.com/users/robpike

다운로드 : https://github.com/jmespath/jp/releases

윈도우즈용은 다운로드 받아서 exe 확장자를 붙이면 사용 가능하다.

728x90

+ Recent posts