Erste Schritte mit AWS
Erstellen einer einfachen Webanwendung
Bereitstellen einer Webanwendung und Einrichten der Interaktivität mit einer API und einer Datenbank

Erstellen einer serverlosen Funktion
Modul 2: Erstellen einer serverlosen Funktion
In diesem Modul erstellen Sie eine serverlose Funktion mithilfe von AWS Lambda.
Einführung
In diesem Modul schreiben einen kurzen Codeabschnitt in Python, JavaScript oder Java, der in einem späteren Modul zum Einrichten der Interaktivität Ihrer Webseite verwendet wird. Zur Datenverarbeitung nutzen Sie den Service AWS Lambda, mit dem sich serverlose Funktionen erstellen lassen. (Bei einer serverlosen Funktion muss sich der Entwickler weder um die Software- noch um die Hardwareverwaltung kümmern. Stattdessen werden Anwendungen in einzelne Funktionen aufgeteilt, die individuell aufgerufen und skaliert werden können.)
Diese serverlosen Funktionen werden mit einem bestimmten Ereignis ausgelöst, das Sie im Code definieren. Dieser Service ist eine preisgünstige Lösung, weil Sie nur für die Zahl der verarbeiteten Ereignisse bezahlen, nicht aber für die Leerlaufzeit. Und das Beste daran? Sie müssen sich nicht einmal um die Verwaltung von Servern kümmern!
Lerninhalte
- Erstellen einer Lambda-Funktion mithilfe der AWS-Konsole (in Python, JavaScript oder Java)
- Erstellen von (JSON-)Ereignissen in der AWS-Konsole zum Testen der Funktion
Wichtige Konzepte
Datenverarbeitungsservice: Service für Rechenleistung zur Datenverabeitung
Serverlose Funktion: Codeabschnitt, der on-demand von einem Datenverarbeitungsservice ausgeführt wird
Lambda-Auslöser: Ereignistyp, der das Ausführen einer (serverlosen) Lambda-Funktion initiiert. Das kann ein anderer AWS-Service oder ein externes Signal sein.
Veranschlagte Zeit
5 Minuten
Verwendete Services
Implementierung
-
Erstellen und Konfigurieren Ihrer Lambda-Funktion
-
Python
-
JavaScript
-
Java
-
Python
-
- Melden Sie sich im Browser auf einer neuen Registerkarte in der AWS Lambda-Konsole an.
- Notieren Sie sich, in welcher Region Sie die Funktion erstellen. Diese Angabe finden Sie ganz oben auf der Seite, neben dem Namen Ihres Kontos.
- Klicken Sie auf die orangefarbene Schaltfläche „Create Function (Funktion erstellen)“.
- Geben Sie unter „Function Name (Funktionsname)“ die Bezeichnung HelloWorldFunction ein.
- Wählen Sie im Dropdown-Menü Runtime (Laufzeit) die Option Python 3.8 aus.
6. Klicken Sie auf die orangefarbene Schaltfläche „Create Function (Funktion erstellen)“.
7. Oben auf dem Bildschirm sollte ein grünes Feld mit dem Hinweis „Successfully created the function (Funktion erstellt)“ zu sehen sein.
8. Ersetzen Sie den Code unter „Function Code (Funktionscode)“ durch Folgendes:
# import the JSON utility package since we will be working with a JSON object import json # define the handler function that the Lambda service will use an entry point def lambda_handler(event, context): # extract values from the event object we got from the Lambda service name = event['firstName'] +' '+ event['lastName'] # return a properly formatted JSON object return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda, ' + name) }
9. Klicken Sie oben auf dem Bildschirm auf die orangefarbene Schaltfläche „Save (Speichern)“.
10. Jetzt testen wir die neue Funktion. Klicken Sie oben auf dem Bildschirm auf Select a test event (Testereignis auswählen).
11. Klicken Sie in diesem Dropdown-Menü auf Configure test events (Testereignisse konfigurieren).
12. Geben Sie unter „Event Name (Ereignisname)“ die Bezeichnung HelloWorldTestEvent ein.
13. Kopieren Sie folgendes JSON-Objekt und fügen Sie es ein, um das Standardobjekt zu ersetzen:
{ "firstName": "Ada", "lastName": "Lovelace" }
14. Klicken Sie unten auf der Seite auf die orangefarbene Schaltfläche „Create (Erstellen)“.
-
JavaScript
-
- Melden Sie sich im Browser auf einer neuen Registerkarte in der AWS Lambda-Konsole an.
- Notieren Sie sich, in welcher Region Sie die Funktion erstellen. Diese Angabe finden Sie ganz oben auf der Seite, neben dem Namen Ihres Kontos.
- Klicken Sie auf die orangefarbene Schaltfläche „Create Function (Funktion erstellen)“.
- Geben Sie unter „Function Name (Funktionsname)“ die Bezeichnung HelloWorldFunction ein.
- Wählen Sie im Dropdown-Menü Runtime (Laufzeit) die Option Node.js 12.x aus.
6. Klicken Sie auf die orangefarbene Schaltfläche „Create Function (Funktion erstellen)“.
7. Oben auf dem Bildschirm sollte ein grünes Feld mit dem Hinweis „Successfully created the function (Funktion erstellt)“ zu sehen sein.
8. Ersetzen Sie den Code unter „Function Code (Funktionscode)“ durch Folgendes:
// Define handler function, the entry point to our code for the Lambda service // We receive the object that triggers the function as a parameter exports.handler = async (event) => { // Extract values from event and format as strings let name = JSON.stringify(`Hello from Lambda, ${event.firstName} ${event.lastName}`); // Create a JSON object with our response and store it in a constant const response = { statusCode: 200, body: name }; // Return the response constant return response; };
9. Klicken Sie oben auf dem Bildschirm auf die orangefarbene Schaltfläche „Save (Speichern)“.
10. Jetzt testen wir die neue Funktion. Klicken Sie oben auf dem Bildschirm auf Select a test event (Testereignis auswählen).
11. Klicken Sie in diesem Dropdown-Menü auf Configure test events (Testereignisse konfigurieren).
12. Geben Sie unter „Event Name (Ereignisname)“ die Bezeichnung HelloWorldTestEvent ein.
13. Kopieren Sie folgendes JSON-Objekt und fügen Sie es ein, um das Standardobjekt zu ersetzen:
{ "firstName": "Ada", "lastName": "Lovelace" }
14. Klicken Sie unten auf der Seite auf die orangefarbene Schaltfläche „Create (Erstellen)“.
-
Java
-
- Melden Sie sich im Browser auf einer neuen Registerkarte in der AWS Lambda-Konsole an.
- Notieren Sie sich, in welcher Region Sie die Funktion erstellen. Diese Angabe finden Sie ganz oben auf der Seite, neben dem Namen Ihres Kontos.
- Klicken Sie auf die orangefarbene Schaltfläche „Create Function (Funktion erstellen)“.
- Geben Sie unter „Function Name (Funktionsname)“ die Bezeichnung HelloWorldFunction ein.
- Wählen Sie im Dropdown-Menü Runtime (Laufzeit) die Option Java 11 aus.
6. Klicken Sie auf die orangefarbene Schaltfläche „Create Function (Funktion erstellen)“.
7. Oben auf dem Bildschirm sollte ein grünes Feld mit dem Hinweis „Successfully created the function (Funktion erstellt)“ zu sehen sein.
8. Sie haben jetzt eine Lambda-Funktion mit der Handler-Klasse „Hello“ erstellt. Weil es sich bei Java um eine kompilierte Sprache handelt, lässt sich der Quellcode in der Lambda-Konsole weder bearbeiten noch anzeigen. Sie können aber seine Konfiguration ändern, ihn aufrufen und Auslöser einrichten.
9. Zum Aktualisieren des Funktionscodes müssen Sie ein Bereitstellungspaket erstellen, also entweder eine JAR-Datei oder ein ZIP-Archiv mit dem Code der Funktion. Für dieses Tutorial haben wir bereits eine JAR-Datei mit dem aktualisierten Funktionscode erstellt, die Sie hier finden.
10. Rufen Sie „Function code (Funktionscode)“ auf und laden Sie die JAR-Datei hoch.
11. Aktualisieren Sie den Wert für „Handler“ auf com.example.app.LambdaRequestHandler::handleRequest.
12. Klicken Sie oben auf dem Bildschirm auf die orangefarbene Schaltfläche „Save (Speichern)“.
13. Jetzt testen wir die neue Funktion. Klicken Sie oben auf dem Bildschirm auf Select a test event (Testereignis auswählen).
14. Klicken Sie in diesem Dropdown-Menü auf Configure test events (Testereignisse konfigurieren).
15. Geben Sie unter „Event Name (Ereignisname)“ die Bezeichnung HelloWorldTestEvent ein.
16. Kopieren Sie folgendes JSON-Objekt und fügen Sie es ein, um das Standardobjekt zu ersetzen:
{ "firstName": "Ada", "lastName": "Lovelace" }
17. Klicken Sie unten auf der Seite auf die orangefarbene Schaltfläche „Create (Erstellen)“.
-
-
Testen der Lambda-Funktion
- Klicken Sie oben auf der Seite auf die graue Schaltfläche „Test (Testen)“.
- Oben auf der Seite sollte ein hellgrünes Feld mit dem Hinweis „Execution result: succeeded (Ausführungsergebnis: erfolgreich)“ zu sehen sein. Wenn Sie auf „Details“ klicken, wird das Ereignis angezeigt, das die Funktion zurückgegeben hat.
- Gute Arbeit! Sie haben jetzt eine funktionierende Lambda-Funktion.
Anwendungsarchitektur
Nach Abschluss dieses Moduls sieht unsere Architektur wir folgt aus:

Wir haben den AWS Lambda-Service bereits hinzugefügt, es besteht aber noch keine Verknüpfung mit AWS Amplify oder unseren Benutzern. Das richten wir im nächsten Modul ein.