mit AWS Lambda
In diesem Tutorial erlernen Sie die Grundlagen zum Ausführen von Code auf AWS Lambda ohne Serverbereitstellung oder -verwaltung. Sie erstellen in diesem Tutorial in der AWS Lambda-Konsole eine "Hello World"-Lambda-Funktion. Danach starten Sie die Lambda-Funktion manuell mit Beispielereignisdaten und überprüfen die Ausgabemetriken.
Alles, was in diesem Tutorial gezeigt wird, ist als kostenloses Kontingent verfügbar.
Zum Ausführen eines serverlosen Codes mit AWS ist ein Konto erforderlich
Ein kostenloses Konto in Minutenschnelle erstellenDas kostenlose Kontingent für AWS umfasst für AWS Lambda 1 Mio. kostenlose Anforderungen und bis zu 3,2 Mio. Sekunden Datenverarbeitungszeit pro Monat.
Details zum kostenlosen Kontingent für AWS anzeigen »
Wenn Sie hier klicken, wird die AWS-Managementkonsole in einem neuen Browserfenster geöffnet, sodass Sie diese schrittweise Anleitung geöffnet lassen können. Klicken Sie unter Compute auf Lambda, um die AWS Lambda-Konsole zu öffnen.
Muster enthalten Beispielcode für einige minimale Verarbeitungsaufgaben. Die meisten Muster verarbeiten Ereignisse aus bestimmten Ereignisquellen wie Amazon S3, DynamoDB oder einer benutzerdefinierten Anwendung.
a. Wählen Sie in der AWS Lambda-Konsole Funktion erstellen.
Hinweis:
Die Konsole zeigt diese Seite nur an, wenn Sie keine Lambda-Funktionen erstellt haben. Wenn Sie bereits Funktionen erstellt haben, sehen Sie die Seite Lambda > Funktionen. Wählen Sie auf der Listenseite Funktion anlegen, um zur Seite Funktion anlegen zu gelangen.
Eine Lambda-Funktion besteht aus dem angegebenen Code, zugeordneten Abhängigkeiten und einer Konfiguration. Zu den angegebenen Konfigurationsinformationen gehören die zuzuweisenden Datenverarbeitungsressourcen (z. B. Arbeitsspeicher), die Zeitbeschränkung für die Ausführung und eine IAM-Rolle, mit der AWS Lambda die Lambda-Funktion ausführen kann.
a. Sie werden nun Grundlegende Informationen über Ihre Lambda-Funktion eingeben.
- Name: Hier können Sie einen Namen für die Lambda-Funktion eingeben. Geben Sie für dieses Tutorial den Namen hello-world-python ein.
- Rolle: Sie erstellen eine IAM-Rolle (die Ausführungsrolle) mit den erforderlichen Berechtigungen, mit denen AWS Lambda die Lambda-Funktion aufrufen kann. Wählen Sie Neue Rolle aus Vorlage(n) erstellen.
- Rollenname: Geben Sie lambda_basic_execution ein.
- In diesem Abschnitt können Sie den in Python erstellten Beispielcode überprüfen.
b. Gehen Sie zum Ende der Seite und wählen Sie Funktion erstellen.
c. Laufzeitumgebung: Derzeit können Sie Ihren Lambda-Funktionscode in Java, Node.js, C#, Go oder Python schreiben. Für dieses Tutorial belassen Sie dies auf Python 2.7 als Laufzeitumgebung.
d. Handler: Sie können einen Handler (eine Methode/Funktion im Code) angeben, bei dem AWS Lambda mit dem Ausführen des Codes beginnen kann. AWS Lambda übergibt die Ereignisdaten als Eingabe an diesen Handler, der das Ereignis verarbeitet.
In diesem Fall ermittelt Lambda diesen Wert aus dem Codebeispiel. Dieses Feld sollte mit dem Text lambda_function.lambda_handler vorausgefüllt sein.
Die Konsole zeigt die Lambda-Funktion "hello-world-python" an. Jetzt können Sie die Funktion testen und Ergebnisse sowie Protokolle überprüfen.
b. Der Editor wird geöffnet, sodass Sie ein Ereignis eingeben und die Funktion testen können.
- Wählen Sie auf der Seite "Input test event" aus der Liste der Beispielereignisvorlagen den Eintrag Hello World aus.
- Geben Sie einen Ereignisnamen wie HelloWorldEvent ein.
- Sie können die Werte im Beispiel-JSON ändern. Lassen Sie die Ereignisstruktur jedoch unverändert. Ersetzen Sie für dieses Tutorial den Text value1 durch hello, world!.
Wählen Sie Erstellen aus.
d. Sehen Sie sich nach erfolgreicher Ausführung die Ergebnisse in der Konsole an:
- Im Abschnitt Ausführungsergebnisse wird überprüft, ob die Ausführung erfolgreich war.
- Im Abschnitt Zusammenfassung werden die wichtigsten Informationen angezeigt, die in der Protokollausgabe gemeldet wurden.
- Im Abschnitt Protokollausgabe werden die beim Ausführen der Lambda-Funktion generierten Protokolle angezeigt.
AWS Lambda überwacht automatisch Lambda-Funktionen und meldet die Metriken über Amazon CloudWatch. Um das Überwachen des Codes während der Ausführung zu erleichtern, verfolgt Lambda automatisch die Anzahl der Anforderungen, die Latenz je Anforderung sowie die Anzahl der Anforderungen mit Fehlern und veröffentlicht die jeweiligen Metriken.
c. Scrollen Sie nach unten, um die Metriken für Ihre Lambda-Funktion anzuzeigen. Lambda-Metriken werden über Amazon CloudWatch gemeldet. Mithilfe dieser Metriken können Sie benutzerdefinierte Alarme festlegen. Weitere Informationen zu CloudWatch finden Sie im Amazon CloudWatch Entwicklerhandbuch.
Auf der Registerkarte Monitoring werden sechs CloudWatch-Metriken angezeigt: Anzahl der Aufrufe, Dauer der Aufrufe, Aufruffehler, gedrosselte Aufrufe, Iterator-Alter und DLQ-Fehler.
Bei AWS Lambda bezahlen Sie nur für das, was Sie tatsächlich nutzen. Wenn Sie Ihr kostenloses Kontingent für AWS Lambda überschreiten, wird entsprechend der Anzahl der Anforderungen für Ihre Funktionen (Anzahl der Aufrufe) und der Zeit abgerechnet, während der Ihr Code ausgeführt wird (Dauer der Aufrufe). Weitere Informationen finden Sie unter AWS Lambda – Preise.
Auch wenn Ihnen für das Aufbewahren Ihrer Lambda-Funktion keine Gebühr berechnet wird, können Sie sie mühelos aus der AWS Lambda-Konsole löschen.
Sie haben Ihre erste AWS Lambda-Funktion erstellt. Dies ist Ihr erster Schritt, wenn Sie das Ausführen von Anwendungen ohne Serverbereitstellung oder -verwaltung erlernen. Lambda skaliert Ihre Anwendungen automatisch, indem der Code als Reaktion auf jeden Trigger ausgeführt wird. So erfolgt die Skalierung genau anhand der Größe Ihrer Arbeitslasten.
Nachdem Sie das Erstellen einer Lambda-Funktion erlernt haben, können Sie jetzt mit dem nächsten Tutorial fortfahren. Darin erlernen Sie, wie Sie eine Lambda-Funktion auslösen und so Daten verarbeiten, die in einen Amazon S3-Bucket hochgeladen werden. Dazu verwenden Sie eine Lambda-Funktion, um in Echtzeit eine Vorschau von Bildern zu erstellen, die in einen S3-Bucket hochgeladen werden.