Dans de rares cas, il existe un environnement dans lequel jq ne peut pas être utilisé même s'il existe aws-cli. Il est raisonnable de souligner que jq devrait être inclus, mais il y a des cas où ce n'est pas le cas, donc je vais expliquer jp.py qui peut être utilisé dans de tels cas.
J'ai appris du texte de JAWSUG CLI Branch.
L'implémentation python du langage de requête JMESPath pour JSON est jp.py. JMESPath est également disponible dans l'option de requête aws-cli. Je suis heureux que jp.py soit installé avec aws-cli et puisse être exécuté avec une seule commande. Vous pouvez également vous référer au Tutoriel pour le chemin JMES. Le but est le même que jq, mais le langage est différent.
Obtenez l'ID d'instance avec jp.py à partir de la liste d'instances obtenue avec aws-cli.
$ aws --region ap-northeast-1 ec2 describe-instances | jp.py 'Reservations[].Instances[].InstanceId'
[
"i-297dXXXX",
"i-c0e2XXXX",
"i-02965fbeXXXXXXX"
]
jp.py --help Comme vous pouvez le voir, c'est simple.
$ jp.py --help
usage: jp.py [-h] [-f FILENAME] [--ast] expression
positional arguments:
expression
optional arguments:
-h, --help show this help message and exit
-f FILENAME, --filename FILENAME
The filename containing the input data. If a filename
is not given then data is read from stdin.
--ast Pretty print the AST, do not search the data.
La capacité de Gugu est trop faible. .. .. ..
Ce qui suit a été très utile. Merci beaucoup.
[Mémo personnel] Utilisons jmespath pour l'analyse JSON Peut être utilisé avec aws-cli - Utilisez étroitement query = jmespath Quatre extraits qui tirent parti des options de requête améliorées dans AWS CLI 1.3 pour Python
Recommended Posts