Was ist AWS Lambda? Lambda-Funktion mit Beispielen
Lassen Sie uns vor der AWS Lambda-Funktion Folgendes verstehen:
Was ist serverlos?
Serverlos ist ein Begriff, der sich im Allgemeinen auf serverlose Anwendungen bezieht. Serverlose Anwendungen sind solche, die keine Serverbereitstellung benรถtigen und keine Serververwaltung erfordern.
Was ist AWS Lambda?
AWS Lambda ist eine ereignisgesteuerte, serverlose Computerplattform, die von bereitgestellt wird Amazon Als ein teil von Amazon Internetdienste. 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 in Lambda einfรผgen und er wird ausgefรผhrt.
In AWS Lambda wird der Code basierend auf der Reaktion von Ereignissen in AWS-Services wie dem Hinzufรผgen/Lรถschen von Dateien im S3-Bucket oder einer HTTP-Anfrage von ausgefรผhrt Amazon API-Gateway usw. Allerdings Amazon Lambda kann nur zum Ausfรผhren von Hintergrundaufgaben verwendet werden.
Mithilfe der AWS-Lambda-Funktion kรถnnen Sie sich auf Ihr Kernprodukt und Ihre Geschรคftslogik konzentrieren, anstatt sich um die Zugriffskontrolle des Betriebssystems (OS), das Patchen des Betriebssystems, die Grรถรenanpassung, Bereitstellung, Skalierung usw. kรผmmern zu mรผssen.
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, Python, Go 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 aus Code wenn es durch AWS-Dienste ausgelรถst wird:
Schritt 5: AWS berechnet nur dann Gebรผhren, wenn der AWS-Lambda-Code ausgefรผhrt wird, und andernfalls nicht.
Dies geschieht in den folgenden Szenarien:
- Laden Sie Dateien in einen S3-Bucket hoch
- Wenn die HTTP-Get/Post-Endpunkt-URL erreicht wird
- Zum Hinzufรผgen/รndern und Lรถschen von Dynamo DB-Tabellen
- Im Prozess der Datenstromerfassung
- Push-Benachrichtigung
- Hosting der Website
- E-Mail-Versand
Hinweis: Denken Sie daran, dass Ihnen fรผr AWS-Services nur dann Gebรผhren berechnet werden, wenn der AWS Lambda-Code ausgefรผhrt wird. Ansonsten mรผssen Sie nichts bezahlen.
Ereignisse, die AWS Lambda auslรถsen
Hier finden Sie Ereignisse, die ausgelรถst werden, wenn Sie AWS Lambda verwenden.
- Einfรผgen, Aktualisieren und Lรถschen von Daten in der Dynamo DB-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, das Ereignis so zu planen, dass die Aufgabe in regelmรครigen Zeitabstรคnden 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:
Runtime ermรถglicht Funktionen in verschiedenen Sprachen, die auf derselben Basisausfรผhrungsumgebung ausgefรผhrt werden. Dies hilft Ihnen, Ihre Funktion zur Laufzeit zu konfigurieren. Es entspricht auch Ihrer Auswahl Programmiersprache.
Ereignisquelle:
Eine Ereignisquelle ist ein AWS-Dienst, z Amazon SNS oder ein benutzerdefinierter Dienst. Diese Triggerfunktion hilft Ihnen bei der Ausfรผhrung ihrer Logik.
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 dem Protokollstream kรถnnen Sie Ihren Funktionscode mit benutzerdefinierten Protokollierungsanweisungen versehen, um den Ausfรผhrungsfluss und die Leistung Ihrer AWS Lambda-Funktionen zu analysieren.
So verwenden Sie AWS Lambda
Jetzt lernen wir, wie man AWS Lambda mit dem AWS Lambda-Beispiel verwendet:
Schritt 1:) Schritt 1) โโรffnen Sie die AWS Lambda-URL
Gehe zu https://aws.amazon.com/lambda/ und Erste Schritte
Schritt 2:) Ein Konto erstellen
Erstellen Sie als Nรคchstes ein Konto oder melden Sie 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
- Klicken Sie auf Ausfรผhren
Schritt 4:) รberprรผfen Sie die Ausgabe
Sie werden die Ausgabe sehen
AWS Lambda VS AWS EC2
Hier sind einige wesentliche 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 ein Infrastructure as a Service (laaS). Es stellt virtualisierte Rechenressourcen bereit. |
| Flexibilitรคt | Bietet keine Flexibilitรคt beim Anmelden bei Compute-Instanzen. Sie kรถnnen ein angepasstes Betriebssystem oder eine angepasste Laufzeitsprache auswรคhlen. | Bietet die Flexibilitรคt, die Vielfalt der Instanzen, benutzerdefinierten Betriebssysteme, Sicherheitspatches, Netzwerke usw. auszuwรคhlen. |
| Installationsprozess | Sie mรผssen Ihre Umgebung auswรคhlen, in der Sie den Code ausfรผhren mรถchten, und den Code in AWS Lambda รผbertragen. | 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 der wichtigsten 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 wird zum Ausfรผhren und Ausfรผhren Ihres Back-End-Codes verwendet. Sie kรถnnen es nicht zum Bereitstellen einer Anwendung verwenden. |
| Auswahl von AWS-Ressourcen | Es gibt Ihnen die Freiheit, AWS-Ressourcen auszuwรคhlen; Sie kรถnnen beispielsweise die EC2-Instanz auswรคhlen, die fรผr Ihre Anwendung optimal ist. | Sie kรถnnen die AWS-Ressourcen nicht auswรคhlen, z. B. eine Art EC2-Instanz. 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 verwendet, wie zum Beispiel:
- Hilft Ihnen beim 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 Backups alltรคglicher Aufgaben
- Skalierbare Backends (mobile Apps, loT-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 von AWS Lambda-Funktionen:
- Nutzen Sie die richtige โAuszeitโ.
- Nutzen Sie die Funktionen des lokalen Speichers mit einer Grรถรe von 500 MB im Ordner /temp
- Minimierung der Verwendung von Startcode, der nicht direkt mit der Verarbeitung des aktuellen Ereignisses zusammenhรคngt.
- 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 ist:
- Es ist nicht angebracht, AWS Lambda-Softwarepakete oder -Anwendungen zu verwenden, die auf zugrunde liegenden Aufrufen basieren Windows RPCs
- Wenn es fรผr kundenspezifische Softwareanwendungen mit Lizenzvereinbarungen wie MS-Office-Dokumentenverarbeitung verwendet wird, Oracle Datenbanken usw.
- AWS Lambda sollte nicht fรผr benutzerdefinierte Hardwareprozesse wie GPU-Beschleunigung oder Hardware-Affinitรคt verwendet werden.
Vorteile der Verwendung von AWS Lambda
Hier sind die Vorteile/Vorteile der Verwendung von AWS Lambda:
- AWS Lambda ist ein รคuรerst flexibles Tool
- Es hilft Ihnen, Zugriff auf Ressourcen, einschlieรlich VPCs, zu gewรคhren
- Autor direkt mit WYSIWYG-Herausgeber in der Konsole.
- Sie kรถnnen es als Plugin fรผr verwenden Eclipse , Visual Studio.
- Da es sich um eine serverlose Architektur handelt, mรผssen Sie sich nicht um die Verwaltung oder Bereitstellung von Servern kรผmmern.
- 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 mรผssen dies nur fรผr die benรถtigte Rechenzeit tun, und zwar nur, wenn Ihr Code ausgefรผhrt wird.
- Sie kรถnnen die Leistung Ihres Codes in Echtzeit รผber CloudWatch รผberwachen.
- Es ermรถglicht Ihnen, Ihren Code ohne Bereitstellung auszufรผhren oder einen anderen Server zu verwalten
- Hilft Ihnen, den Code nur bei Bedarf auszufรผhren
- 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.
- Die Lambda-Funktion in AWS sollte daher mit externen Ereignissen und Timern konfiguriert werden. Es kann zur Terminplanung verwendet werden.
- 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 verlรคsst sich bei der Infrastruktur vollstรคndig auf AWS, sodass Sie keine zusรคtzliche Software installieren kรถnnen, wenn Ihr Code dies erfordert.
- Die gleichzeitige Ausfรผhrung ist auf 100 begrenzt
- AWS Lambda war bei der Infrastruktur vollstรคndig auf AWS angewiesen; Sie kรถnnen keine zusรคtzliche Software installieren, wenn Ihr Code dies erfordert.
- Sein Speichervolumen kann zwischen 128 und 1536 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 Zeitlimit fรผr die Codeausfรผhrung betrรคgt nur 5 Minuten.
Zusammenfassung
- Serverlos ist ein Begriff, der sich im Allgemeinen auf serverlose Anwendungen bezieht.
- AWS Lambda ist ein solcher serverloser Rechendienst. Daher mรผssen Sie sich keine Gedanken darรผber machen, welche AWS-Ressourcen gestartet werden sollen oder wie diese verwaltet werden.
- Eine Funktion ist ein Programm oder ein Skript, das in AWS serverlosem Lambda ausgefรผhrt wird.
- Runtime ermรถglicht Funktionen in verschiedenen Sprachen, die auf derselben Basisausfรผhrungsumgebung ausgefรผhrt werden.
- Eine Ereignisquelle ist ein AWS-Dienst, z Amazon SNS oder ein benutzerdefinierter Dienst.
- Lambda-Ebenen sind ein wichtiger Verteilungsmechanismus fรผr Bibliotheken, benutzerdefinierte Laufzeiten und andere wichtige Funktionsabhรคngigkeiten.
- Mit dem Protokollstream kรถnnen Sie Ihren Funktionscode mit benutzerdefinierten Protokollierungsanweisungen versehen, die Ihnen bei der Analyse des Ausfรผhrungsflusses und der Leistung Ihrer Lambda-Funktionen helfen.
- AWS Lambda ist eine Platform as a Service (PaaS). Es hilft Ihnen, Ihren Backend-Code auszufรผhren und auszufรผhren.
- AWS EC2 ist ein Infrastructure as a Service (laaS). Es stellt virtualisierte Rechenressourcen bereit.
- 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 wird zum Ausfรผhren und Ausfรผhren Ihres Back-End-Codes verwendet. Sie kรถnnen es nicht zum Bereitstellen einer Anwendung verwenden.
- AWS Lambda hilft Ihnen dabei ETL-Prozess.
- Die beste Vorgehensweise bei der Lambda-Funktion in AWS besteht darin, das richtige โTimeoutโ zu verwenden.
- Es ist nicht angebracht, AWS Lambda-Softwarepakete oder -Anwendungen zu verwenden, die auf zugrunde liegenden Aufrufen basieren Windows RPCs
- AWS Lambda ist ein รคuรerst flexibles Tool.
- Das AWS Lambda-Tool ist nicht fรผr kleine Projekte geeignet.
- Ein hรคufiges Ereignis, das bei der Verwendung von AWS Lambda ausgelรถst wird, ist das Einfรผgen, Aktualisieren und Lรถschen von Daten in der Dynamo DB-Tabelle.



