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