[PYTHON] Ich mache mein eigenes aws cli

Ich mache mein eigenes aws cli. Ich denke darüber nach, die API zu drücken, um den Inhalt von AWS zu verstehen. Ich benutze boto3 von Python. Es ist auch eine Python-Praxis. Ich weiß nicht, ob es daran liegt, aber es ist viel einfacher, AWS zu berühren als zuvor.

Das selbst erstellte Tool ist auf das Durchsuchen von AWS-Ressourcen spezialisiert und soll verwendet werden, ohne die Hilfe einzeln zu betrachten.

Was du mit aws cli fühlst

Sie können sehen, wie aws cli verwendet wird, indem Sie sich die Hilfe ansehen, aber Sie müssen sich die Hilfe für jeden Unterbefehl ansehen. Es gibt auch Unterbefehle mit einer großen Anzahl von Parametern, so dass es schwierig ist, Befehle einzugeben, während Sie sich die Hilfe ansehen. Es ist schwer, einen so langen Befehl einzugeben.

#Beispiele für sehr lange nicht erinnerte Befehle
$ aws cloudwatch get-metric-statistics --namespace AWS/Lambda --metric-name Duration \
  --dimensions 'Name=FunctionName,Value=xxxx' --start-time ... ... ...

Kann ich es tun, wenn ich mich daran gewöhnt habe? Es entspricht direkt der API, daher wäre es schön, wenn Sie die API kennen würden.

Dies ist der Weg zu diesem langen Befehl.

#Suchen Sie die Cloudwatch-API
$ aws cloudwatch help

#Ich habe so etwas gefunden. erhalten-metric-Statistiken

$ aws cloudwatch get-metric-statistics help

#Es ist schwer, viele Parameter zu haben ...
#Was für ein Format ist das Datum und die Uhrzeit?
#Wie schreibst du Punkt
#Viel googeln

$ aws cloudwatch get-metric-statistics --namespace AWS/Lambda --metric-name Duration --start-time xxxx --end-time xxxx --period xxxx
At least one of the parameters Statistics and ExtendedStatistics must be specified.

#Gibt es keinen erforderlichen Parameter?
#Weitere Informationen zum Festlegen von Statistiken finden Sie in der Hilfe
$ aws cloudwatch get-metric-statistics help

$ aws cloudwatch get-metric-statistics --namespace AWS/Lambda --metric-name Duration --start-time xxxx --end-time xxxx --period xxxx --statistics xxxx
#Ich habe es endlich geschafft
#Aber ich möchte wirklich auch die Dimension angeben. Wie schreibt man

Was Sie mit Ihren eigenen Werkzeugen anstreben

Dies ist bei meinen eigenen Werkzeugen der Fall.

#Ich möchte die Metriken von Lambda sehen, also geben Sie zuerst Lambda ein
# (Spur von Cloudwatch)
$ boto3 lambda
functions
layers

#Wenn es so aussieht, wählen Sie aus, was Sie sehen möchten, fügen Sie es den Parametern hinzu und führen Sie es erneut aus.
#Da die Metriken, die Sie sehen möchten, mit Funktionen verknüpft sind, wählen Sie diesmal Funktionen aus.

$ boto3 lambda functions
xxxx
yyyy

#Eine Liste der Funktionen wird angezeigt. Wählen Sie daher die gewünschte Funktion aus.

$ boto3 lambda functions xxxx
code
configuration
metrics

#Wählen Sie aus, was Sie daraus sehen möchten

$ boto3 lambda functions xxxx metrics
duration
errors
invocations
throttles

#Wählen Sie aus, was Sie daraus sehen möchten

$ boto3 lambda functions xxxx metrics duration
# see-also: aws cloudwatch get-metric-statistics --namespace AWS/Lambda --metric-name Duration --dimensions Name=FunctionName,Value=xxxx --start-time 2019-10-10T13:03:00 --end-time 2019-10-11T13:03:00 --period 60 --statistics Average --output text
2019-10-10T13:03:00+00:00 1713.59 Milliseconds
2019-10-10T13:04:00+00:00 1736.76 Milliseconds
...

#Ich habe gesehen, was ich sehen wollte.

Wenn Sie mit den detaillierten Parametern spielen und die Details sehen möchten, können Sie die ursprüngliche aws cli drücken, die oben unter # see-also: angezeigt wird. Alle notwendigen Parameter für das ursprüngliche aws cli sind verfügbar, so dass Sie einfach damit herumspielen können.

das ist alles.

Recommended Posts

Ich mache mein eigenes aws cli
Ich habe meine eigene Sprache gemacht. (1)
Ich habe meine eigene Sprache gemacht (2)
Ich habe meine eigene AML gemacht
Ich habe meine eigene Python-Bibliothek erstellt
[Ich habe versucht, Pythonista 3 zu verwenden] Importieren meines eigenen Moduls
Ich habe meinen eigenen primitiven statischen Site-Generator erstellt
Ich habe meinen eigenen Parallel Link Roboter (Software Edition) gemacht
Ich habe meinen eigenen Parallelverbindungsroboter gebaut (mechanische Ausgabe)
AWS CLI-Installationsverfahren
Ich habe AWS CDK ausprobiert!
Ich habe AWS Iot ausprobiert
Ich habe AWS Chalice berührt
Ich habe versucht, meine eigene Python-Baseballbibliothek bei Packaging & PyPI zu veröffentlichen