Die später aufgerufene Lambda-Funktion erhält dann bereits die dekodierten Wertepaare aus den Json-Daten in einem Python-Dictionary als Funktionsparameter »event«. Im vorliegenden Fall legt der Client in Abbildung 1 die URL zum Überwachungsvideo im Json-Blob im Parameter »movie_url« ab, während die Lambda-Funktion in Listing 2 mit »event[‘movie_url’]« darauf zugreift.
Live schaltet das REST-API erst, nachdem der User im Kontextmenü unter »API Actions« die Funktion »Deploy-API« angeklickt (Abbildung 7) und eine Produktionsumgebung (Stage) ausgewählt hat (etwa »Beta«). Im Browser zeigt AWS dann die URL an, unter der der neue Webservice erreichbar ist.
Als Produktionsumgebung installiert ist der Einsatz von API-Tokens zu empfehlen, die den Zugang zum API regeln. Auch ein Drosseln des Ansturms (etwa auf 1000 Requests/Sekunde) ist hiermit möglich, um einer überraschenden Kostenexplosion vorzubeugen, falls der Link sich lauffeuerartig verbreitet.
Bei der Arbeit an diesem Artikel hatte ich immer ein wachsames Auge auf anfallende Kosten, doch die hielten sich im “Free Tier”-Rahmen, es fielen nur 0,01 US-Dollar an, um die während vieler Testdurchgänge aufgebrauchte Bandbreite zum Hochladen der ständig aktualisierten und verbesserten Zip-Datei mit Testcode und Libs zu decken.
Online PLUS
Im Screencast demonstriert Michael Schilli das Beispiel: https://www.linux-magazin.de/Ausgaben/2017/03/plus
Infos
- Listings zu diesem Artikel: https://www.linux-magazin.de/static/listings/magazin/2017/03/snapshot/
- Danilo Poccia, “AWS Lambda in Action”: Manning 2017
- Michael Schilli, “Schaut auf diese Stadt”: Linux-Magazin 12/16, S. 104, https://www.linux-magazin.de/Ausgaben/2016/12/Perl-Snapshot






