[PYTHON] Kann verwendet werden, wenn aws-cli verfügbar ist, jq jedoch nicht verfügbar ist. Jp.py.

Einführung

In seltenen Fällen gibt es eine Umgebung, in der jq nicht verwendet werden kann, obwohl [aws-cli] vorhanden ist (https://aws.amazon.com/jp/cli/). Es ist vernünftig darauf hinzuweisen, dass jq enthalten sein sollte, aber es gibt Fälle, in denen dies nicht der Fall ist, daher werde ich jp.py erläutern, das in solchen Fällen verwendet werden kann.

Ich habe aus dem Text von JAWSUG CLI Branch gelernt.

Über JMESPath und jp.py.

Die Python-Implementierung der Abfragesprache JMESPath für JSON lautet jp.py. JMESPath ist auch in der Abfrageoption aws-cli verfügbar. Ich bin froh, dass jp.py zusammen mit aws-cli installiert ist und mit einem einzigen Befehl ausgeführt werden kann. Sie können sich auch auf Tutorial für JMES Path beziehen. Der Zweck ist der gleiche wie bei jq, aber die Sprache ist anders.

Wie benutzt man

Holen Sie sich die Instanz-ID mit jp.py aus der mit aws-cli erhaltenen Instanzliste.

$ aws --region ap-northeast-1 ec2 describe-instances |  jp.py 'Reservations[].Instances[].InstanceId'
[
    "i-297dXXXX",
    "i-c0e2XXXX",
    "i-02965fbeXXXXXXX"
]

jp.py --help Wie Sie sehen können, ist es einfach.

$ 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.

Schlechte Punkte von jp.py.

Gugus Fähigkeit ist zu gering. .. .. ..

Referenz

Das Folgende war sehr hilfreich. Vielen Dank.

[Persönliches Memo] Verwenden wir jmespath für das JSON-Parsing Kann mit aws-cli verwendet werden - Verwenden Sie query = jmespath fest Vier Snippets, die die erweiterten Abfrageoptionen in AWS CLI 1.3 für Python nutzen

Recommended Posts

Kann verwendet werden, wenn aws-cli verfügbar ist, jq jedoch nicht verfügbar ist. Jp.py.
Python Hinweis: Wenn easy_install nicht verwendet werden kann
Wenn "kann beim Erstellen eines PIE-Objekts nicht verwendet werden" in make angezeigt wird
pd.tseries.offsets.DateOffset kann sehr langsam sein, wenn es nicht mit Vorsicht verwendet wird
[Python] Argumente mit variabler Länge können beim Entpacken iterierbarer Elemente verwendet werden
Skripte, die bei der Verwendung von Bottle in Python verwendet werden können
Wenn ich versuche, pip zu verwenden, ist das SSL-Modul nicht verfügbar.