Was ist AWS Lambda? Lambda-Funktion mit Beispielen
⚡ Intelligente Zusammenfassung
AWS Lambda ist eine ereignisgesteuerte, serverlose Computing-Plattform von Amazon Webdienste, die Ihren Code als Reaktion auf Auslöser ausführen und Bereitstellung, Skalierung und Serververwaltung automatisch übernehmen, sodass Sie sich ausschließlich auf die Geschäftslogik konzentrieren können.
Bevor man sich mit AWS Lambda beschäftigt, ist es hilfreich zu verstehen, was serverlos bedeutet.
Was ist serverlos?
Serverless ist ein Begriff, der im Allgemeinen serverlose Anwendungen bezeichnet. Serverlose Anwendungen benötigen keine Serverbereitstellung und erfordern keine Serververwaltung.
Was ist AWS Lambda?
AWS Lambda ist eine ereignisgesteuerte, serverlose Computerplattform, die von bereitgestellt wird Amazon Als ein teil von Amazon Webdienste. Daher müssen Sie sich keine Gedanken darüber machen, welche AWS-Ressourcen Sie starten oder wie Sie diese verwalten. Stattdessen müssen Sie den Code lediglich in Lambda einfügen, und er wird ausgeführt.
In AWS Lambda wird der Code basierend auf der Reaktion von Ereignissen in AWS-Diensten ausgeführt, wie z. B. dem Hinzufügen oder Löschen von Dateien in einem S3-Bucket oder einer HTTP-Anfrage von Amazon API-Gateway und ähnliche Ereignisse. Jedoch Amazon Lambda kann nur zum Ausführen von Hintergrundaufgaben verwendet werden.
Mit AWS Lambda-Funktionen können Sie sich auf Ihr Kernprodukt und Ihre Geschäftslogik konzentrieren, anstatt sich mit der Zugriffskontrolle des Betriebssystems (OS), dem Patchen des Betriebssystems, der richtigen Dimensionierung, der Bereitstellung, der Skalierung usw. zu befassen.
Wie funktioniert AWS Lambda?
Das folgende AWS Lambda-Beispiel mit Blockdiagramm erklärt die Funktionsweise von AWS Lambda in wenigen einfachen Schritten:
Schritt 1: Laden Sie zunächst Ihren AWS Lambda-Code in einer beliebigen von AWS Lambda unterstützten Sprache hoch. Java, PythonGo und C# sind einige der Sprachen, die von der AWS Lambda-Funktion unterstützt werden.
Schritt 2: Dies sind einige AWS-Dienste, mit denen Sie AWS Lambda auslösen können.
Schritt 3: AWS Lambda unterstützt Sie beim Hochladen von Code und den Ereignisdetails, bei denen er ausgelöst werden soll.
Schritt 4: Führt AWS Lambda-Code aus, wenn dieser von AWS-Diensten ausgelöst wird.
Schritt 5: AWS berechnet Gebühren nur dann, wenn der AWS Lambda-Code ausgeführt wird, ansonsten nicht.
Dies geschieht in den folgenden Szenarien:
- Laden Sie Dateien in einen S3-Bucket hoch
- Wenn ein HTTP-GET/POST-Endpunkt URL ist getroffen
- Zum Hinzufügen, Ändern und Löschen von DynamoDB-Tabellen
- Im Prozess der Datenstromerfassung
- Push-Benachrichtigung
- Hosting der Website
- E-Mail-Versand
Hinweis: Denken Sie daran, dass Ihnen die AWS-Dienste nur dann in Rechnung gestellt werden, wenn der AWS Lambda-Code ausgeführt wird; ansonsten müssen Sie nichts bezahlen.
Ereignisse, die AWS Lambda auslösen
Hier sind die Ereignisse, die bei der Verwendung von AWS Lambda ausgelöst werden.
- Einfügen, Aktualisieren und Löschen von Daten in einer DynamoDB-Tabelle
- Um Push-Benachrichtigungen in SNS einzubinden
- Um nach dem Protokollverlauf in CloudTrail zu suchen
- Eintritt in ein S3-Objekt
- DynamoDB kann AWS Lambda immer dann auslösen, wenn der Tabelle Daten hinzugefügt, geändert oder gelöscht werden.
- Hilft Ihnen dabei, das Ereignis so zu planen, dass die Aufgabe in einem regelmäßigen Zeitrhythmus ausgeführt wird.
- Änderungen an Objekten in S3-Buckets
- Benachrichtigungen gesendet von Amazon SNS.
- AWS Lambda kann zur Verarbeitung der CloudTrail-Protokolle verwendet werden.
- Mit API Gateway können Sie AWS Lambda auf GET/POST-Methoden auslösen.
AWS Lambda Concepts
Funktion: Eine Funktion ist ein Programm oder ein Skript, das in AWS Lambda ausgeführt wird. Lambda übergibt Aufrufereignisse an Ihre Funktion, die ein Ereignis verarbeitet und seine Antwort zurückgibt.
Laufzeit: Die Laufzeitumgebung ermöglicht es Funktionen in verschiedenen Sprachen, auf derselben Basisausführungsumgebung zu laufen. Dies erleichtert die Konfiguration Ihrer Funktion in der Laufzeitumgebung. Sie entspricht außerdem Ihrer Auswahl. Programmiersprache.
Ereignisquelle: Eine Ereignisquelle ist ein AWS-Dienst, z Amazon SNS oder ein benutzerdefinierter Dienst. Dieser Auslöser hilft der Funktion, ihre Logik auszuführen.
Lambda-Schichten: Lambda-Ebenen sind ein wichtiger Verteilungsmechanismus für Bibliotheken, benutzerdefinierte Laufzeiten und andere wichtige Funktionsabhängigkeiten. Diese AWS-Komponente hilft Ihnen auch dabei, Ihren Entwicklungsfunktionscode getrennt von dem unveränderlichen Code und den verwendeten Ressourcen zu verwalten.
Protokollströme: Mit Log Stream können Sie Ihren Funktionscode mit benutzerdefinierten Protokollierungsanweisungen versehen, die Ihnen helfen, den Ausführungsablauf und die Leistung Ihrer AWS Lambda-Funktionen zu analysieren.
So verwenden Sie AWS Lambda
Nun lernen wir anhand eines AWS Lambda-Beispiels, wie man AWS Lambda verwendet:
Schritt 1) AWS Lambda öffnen URL
Zurück Nach https://aws.amazon.com/lambda/ und legen Sie los.
Schritt 2) Ein Konto erstellen
Als Nächstes erstellen Sie ein Konto oder melden sich mit Ihrem bestehenden Konto an.
Schritt 3) Bearbeiten Sie den Code und klicken Sie auf „Ausführen“.
Auf der nächsten Lambda-Seite bearbeiten Sie den Code und klicken auf Ausführen.
Schritt 4) Ausgabe prüfen
Sie werden das Ergebnis sehen.
AWS Lambda VS AWS EC2
Hier sind einige wichtige Unterschiede zwischen AWS Lambda und EC2.
| Kenngrößen | AWS Lambda | AWS EC2 |
| Definition | AWS Lambda ist eine Platform as a Service (PaaS). Es hilft Ihnen, Ihren Backend-Code auszuführen und auszuführen. | AWS EC2 ist eine Infrastructure as a Service (IaaS). Sie stellt virtualisierte Computerressourcen bereit. |
| Flexibilität | Bietet keine Flexibilität beim Anmelden an Recheninstanzen. Es ermöglicht die Auswahl eines benutzerdefinierten Betriebssystems oder einer benutzerdefinierten Sprachlaufzeitumgebung. | Bietet die Flexibilität, eine Vielzahl von Instanzen, benutzerdefinierten Betriebssystemen, Sicherheitspatches und Netzwerken usw. auszuwählen. |
| Installationsprozess | Sie müssen die Umgebung auswählen, in der Sie den Code ausführen möchten, und den Code in AWS Lambda hochladen. | Zum ersten Mal in EC2 müssen Sie das Betriebssystem auswählen, die gesamte erforderliche Software installieren und dann Ihren Code in EC2 übertragen. |
| Umgebungsbeschränkungen | Es ist auf wenige Sprachen beschränkt. | Keine Umgebungseinschränkungen. |
AWS Lambda vs. AWS Elastic Beanstalk
Hier sind einige wichtige Unterschiede zwischen AWS Lambda und Elastic Beanstalk.
| Kenngrößen | AWS Elastic Beanstalk | AWS Lambda |
| Hauptaufgabe | Stellen Sie die Apps in der AWS Cloud bereit und verwalten Sie sie, ohne sich um die Infrastruktur kümmern zu müssen, auf der diese Anwendungen ausgeführt werden. | AWS Lambda dient zum Ausführen Ihres Backend-Codes. Sie können es nicht zum Bereitstellen einer Anwendung verwenden. |
| Auswahl von AWS-Ressourcen | Es gibt Ihnen die Freiheit, AWS-Ressourcen auszuwählen; zum Beispiel können Sie eine EC2-Instanz auswählen, die für Ihre Anwendung optimal ist. | Sie können die AWS-Ressourcen, wie beispielsweise einen bestimmten EC2-Instanztyp, nicht auswählen; Lambda bietet Ressourcen basierend auf Ihrer Arbeitslast an. |
| Art des Systems | Es ist ein zustandsbehaftetes System. | Es ist ein staatenloses System. |
Anwendungsfälle von AWS Lambda
AWS Lambda wird für eine Vielzahl von Anwendungen eingesetzt, wie zum Beispiel:
- Hilft Ihnen bei der ETL-Prozess
- Ermöglicht die Durchführung von Echtzeit-Dateiverarbeitung und Echtzeit-Stream-Verarbeitung
- Zum Erstellen von Webanwendungen verwenden
- Verwenden Sie in Amazon Produkte wie Alexa Chatbots und Amazon Echo/Alexa
- Datenverarbeitung (Echtzeit-Streaming-Analyse)
- Automatisierte Datensicherungen für alltägliche Aufgaben
- Skalierbare Backends (mobile Apps, IoT-Geräte)
- Hilft Ihnen bei der Ausführung serverseitiger Backend-Logik
- Ermöglicht das Filtern und Transformieren von Daten.
Best Practices für die Lambda-Funktion
Hier sind einige Best Practices für AWS Lambda-Funktionen:
- Nutzen Sie die richtige „Auszeit“.
- Nutzen Sie die Funktionen des lokalen Speichers, der im Ordner /temp 500 MB groß ist.
- Minimieren Sie die Verwendung von Startcode, der nicht in direktem Zusammenhang mit der Verarbeitung des aktuellen Ereignisses steht.
- Sie sollten die integrierte CloudWatch-Überwachung Ihrer Lambda-Funktionen verwenden, um Anforderungslatenzen anzuzeigen und zu optimieren.
Wann Sie AWS Lambda nicht verwenden sollten
Im Folgenden sind die Situationen aufgeführt, in denen Lambda sicherlich keine ideale Option darstellt:
- Die Verwendung von AWS Lambda für Softwarepakete oder Anwendungen, die auf Aufrufen zugrundeliegender Funktionen angewiesen sind, ist nicht angemessen. Windows RPCs.
- Wenn es für kundenspezifische Softwareanwendungen mit Lizenzvereinbarungen wie die MS-Office-Dokumentenverarbeitung verwendet wird, Oracle Datenbanken usw.
- AWS Lambda sollte nicht für benutzerdefinierte Hardwareprozesse wie GPU-Beschleunigung und Hardwareaffinität verwendet werden.
Vorteile der Verwendung von AWS Lambda
Hier die Vorteile der Verwendung von AWS Lambda:
- AWS Lambda ist ein äußerst flexibles Tool.
- Es hilft Ihnen dabei, Zugriff auf Ressourcen, einschließlich VPCs, zu gewähren.
- Der Autor hat direkt Kontakt zu einem WYSIWYG-Herausgeber in der Konsole.
- Sie können es als Plugin für verwenden Eclipse und Visual Studio.
- Da es sich um eine serverlose Architektur handelt, müssen Sie sich keine Gedanken über die Verwaltung oder Bereitstellung von Servern machen.
- Sie müssen keine einrichten Virtuelle Maschine.
- Hilft Entwicklern, die Reaktion des Codes auf Ereignisse auszuführen und auszuführen, ohne eine Infrastruktur aufzubauen.
- Sie zahlen nur für die tatsächlich in Anspruch genommene Rechenzeit, und zwar nur dann, wenn Ihr Code ausgeführt wird.
- Sie können die Leistung Ihres Codes in Echtzeit über CloudWatch überwachen.
- Es ermöglicht Ihnen, Ihren Code auszuführen, ohne einen weiteren Server bereitstellen oder verwalten zu müssen.
- Hilft Ihnen dabei, den Code nur dann auszuführen, wenn er benötigt wird.
- Sie können es automatisch skalieren, um einige Anfragen pro Tag zu bearbeiten und sogar mehr als Tausende von Anfragen pro Sekunde zu unterstützen.
- AWS Lambda kann mit Hilfe externer Ereignis-Timer konfiguriert werden, um geplante Aufgaben auszuführen.
- Lambda-Funktionen in AWS sollten mit externen Ereignissen und Timern konfiguriert werden, damit sie für die Terminplanung verwendet werden können.
- Lambda-Funktionen sind zustandslos, sodass sie schnell skaliert werden können.
- AWS Lambda ist schnell und führt Ihren Code innerhalb von Millisekunden aus.
Einschränkungen von AWS Lambda
Hier sind die Vor- und Nachteile der Verwendung von AWS Lambda:
- Das AWS Lambda-Tool ist nicht für kleine Projekte geeignet.
- AWS Lambda ist für die Infrastruktur vollständig auf AWS angewiesen, daher können Sie keine zusätzliche Software installieren, selbst wenn Ihr Code dies erfordert.
- Die Anzahl gleichzeitiger Ausführungen ist standardmäßig auf 1,000 pro Region begrenzt; diese Grenze kann auf Anfrage erhöht werden.
- Die Speicherkapazität kann zwischen 128 MB und 10,240 MB variieren.
- Die Ereignisanforderung sollte 128 KB nicht überschreiten.
- Lambda-Funktionen helfen Ihnen, ihre Protokolle nur in CloudWatch zu schreiben. Dies ist das einzige Tool, mit dem Sie Ihre Funktionen überwachen oder Fehler beheben können.
- Das Timeout für die Codeausführung ist auf 15 Minuten begrenzt.





