Eine Einführung in verfügbare Auslöser, um eine Lambda -Funktion aufzurufen

Eine Einführung in verfügbare Auslöser, um eine Lambda -Funktion aufzurufen
AWS Lambda ist ein erstaunlicher Cloud-basierter Dienst, der die serverlose Welt revolutioniert hat. Es handelt sich tatsächlich um eine Software als Service (SaaS), die einfach und schnell eingerichtet werden kann und hilfreich ist, um das Gesamtbudget Ihrer Cloud -Infrastruktur zu verringern. Was Sie tun müssen, ist nur Ihren Code zu entwerfen und ihn mit der Lambda -Funktion auszuführen.

Hier geht es darum, wie Sie Ihren Code in der Funktion ausführen sollen, und die Antwort darauf ist, dass es eine lange Liste von Methoden gibt, durch die Sie Ihre Lambda -Funktionen aufrufen oder auslösen können. Dies schließt viele andere AWS -Dienste ein, mit denen die gewünschte Funktion bei Bedarf aufgerufen werden kann.

In diesem Artikel sehen Sie eine kurze Erklärung zu den Diensten und Techniken, die angewendet werden können, um Ihre Lambda -Funktionen in Amazon aufzurufen.

Arten von Aufrufe

Bevor wir weiter kommen, diskutieren wir die folgenden zwei Haupttypen von Einrufe, die die Lambda -Funktion übernehmen kann.

  • Synchrone Aufrufe
  • Asynchrone Aufrufe
  1. Synchrone Aufrufe
    In synchronen Aufrufe muss der Dienst, der das Lambda aufruft. Wir können auch sagen, dass die Ausgabe der Lambda -Funktion von der Funktion oder dem Dienst selbst benötigt wird, der diese Lambda aufgerufen hat.
  2. Asynchrone Aufrufe

    Hier gibt es keine Wartezeit auf die Lambda -Funktionen, um die Ergebnisse dem Invoker zurückzugeben. Dies wird hauptsächlich für Benachrichtigungen oder für andere unabhängige Ereignisse in AWS verwendet. Der Dienst, der die Lambda -Funktion aufrufen möchte.

Verschiedene Möglichkeiten, Lambda aufzurufen

Hier sehen Sie zahlreiche Möglichkeiten, die Lambda -Funktionen aufzurufen. Zu wissen, dass dies für Sie sehr hilfreich ist, wenn Sie das nächste Mal Ihre einfache, aber kosteneffiziente AWS-Infrastruktur entwerfen.

Rufen Sie die Lambda -Funktionen direkt auf

In den meisten Fällen sind die Lambda -Funktionen so konzipiert, dass sie mit anderen Diensten ausgelöst werden.

Aufrufen von Lambda aus der Management -Konsole

Wenn Sie eine Lambda -Funktion in Ihrer AWS -Konsole erstellen, können Sie sie problemlos mit der Test -Auslauf -Option in der Konsole auslösen. Der Prüfen Die Schaltfläche ist im Abschnitt Code der Lambda -Funktion verfügbar.

Sie können ein benutzerdefiniertes Ereignis erstellen und die Konsole mit Ihrem benutzerdefinierten Ereignismuster verwenden.

Auf diese Weise kann die Lambda -Funktion aus der AWS -Konsole ausgelöst werden.

AWS CLI

AWS bietet Ihnen die Möglichkeit, alle Ressourcen mithilfe der AWS -Befehlszeilenschnittstelle zu verwenden. Jede Lambda -Funktion kann auch mit dieser CLI aufgerufen werden. Dies kann sehr effektiv sein, um Dinge in den Entwicklungsphasen zu testen. Das Befolgen des AWS -CLI -Befehls kann als Auslöser verwendet werden, um die Lambda -Funktion aufzurufen.

Ubuntu@Ubuntu: ~ $ aws lambda aufrufen \
--Funktionsname \
--Nutzlast \
--Cli-B-B-Format < base64 | raw-in-base64-out >

Die Funktion wird erfolgreich ausgelöst und Sie können dies auch in der Ausgabe beobachten.

Funktion URL

Funktions URL ist tatsächlich ein HTTP -Endpunkt, den Sie für Ihre Lambda -Funktionen konfigurieren können. Diese URL kann verwendet werden, um die Lambda -Funktionen auszulösen, und Sie können diese URL auch mit anderen Benutzern außerhalb Ihres AWS -Kontos teilen, um die Lambda -Funktionen aufzurufen. Obwohl Sie mit Funktions -URLs vorsichtig sein sollten, kann jeder mit diesem Link Ihre Lambda -Funktion unzählige Male auslösen, und alle Kosten werden auf Ihrem Kopf liegen.

Eine Funktions -URL kann beim Erstellen sowie nach dem Erstellen der Lambda -Funktion konfiguriert werden. Gehen Sie hier einfach zu den erweiterten Einstellungen im Abschnitt Konfiguration und überprüfen Sie die Aktivieren Sie die Funktion URL Kasten.

Wenn Sie beim Erstellen der Lambda -Funktion keine Funktions -URL angehängt haben, können Sie sie später tun. Dazu müssen Sie zur Registerkarte Konfiguration gehen, die Funktions -URL auswählen und auf klicken Funktionsfunktions -URL erstellen.

Auf diese Weise wird die Funktions -URL erstellt und verwendet, um die Lambda -Funktion aufzurufen.

Rufen Sie Lambda -Funktionen mit AWS -Diensten auf

Viele AWS -Dienste können als Auslöser konfiguriert werden, um die Lambda -Funktion aufzurufen. Sie müssen nur die AWS -Dienste als Auslöser konfigurieren, um die Lambda -Funktion aufzurufen. Hier durchlaufen wir all diese Dienste mit einer Erklärung, wie Sie sie als Lambda -Auslöser verwenden können.

API -Tor

Dies ist ein AWS -Dienst, der ausführlich zum Erstellen und Verwalten der APIs in Ihrem Anwendungsmodell verwendet wird. APIs geben eine sehr flexible Möglichkeit, Anforderungen oder Anrufe von einem Softwarepaket zu einem anderen Paket zu generieren, das wir nicht direkt aussetzen können und nur hinter den Kulissen bleiben möchten.

Um Ihre Lambda -Funktion als Auslöser hinzuzufügen, gehen Sie einfach zur Lambda -Funktion und klicken Sie auf Trigger hinzufügen.

Als nächstes können Sie den Dienst auswählen, den Sie als Auslöser an Ihrer Lambda -Funktion anhängen möchten. Für diesen Abschnitt wählen wir das API -Gateway als Auslöser für die Lambda -Funktion aus.

Konfigurieren Sie den Dienst als nächst.

Es gibt zwei Arten von APIs, die vom API -Gateway unterstützt werden, und diese können verwendet werden, um eine Lambda -Funktion aufzurufen.

Http apis: Sie werden verwendet, um die HTTP -Endpunkte zu generieren, die an Ihre Lambda -Funktionen weitergeleitet werden. HTTP -APIs geben weniger Funktionen und sind weniger kostspielig zu verwenden.

Restapis: Wenn Sie mehr Funktionen in Ihrer API wünschen, müssen Sie sich für eine REST -API entscheiden. Diese APIs können die Lambda -Funktion aufrufen und dieselben HTTP.

S3 Eimer

Es gibt viele Anwendungsfälle, in denen Sie sehen, dass S3 -Eimer als Auslöser für die Lambda -Funktion wirken. Sie können einen S3 -Bucket konfigurieren, um die Lambda -Funktion für ein bestimmtes S3 -Ereignis auszulösen.

Zum Beispiel möchten Sie die Metadaten jeder Datei sammeln, wenn sie in Ihren Eimer hochgeladen wird. Zu diesem Zweck entwickeln Sie einen Code und stellen ihn in der Lambda -Funktion bereit. Wählen Sie für den Lambda -Trigger den S3 -Eimer aus. Wählen Sie für den Ereignistyp aus Objekt setzen. So dass die Lambda -Funktion ausgelöst und die Metadaten des Objekts gesammelt und am Zielort gespeichert werden, wenn Sie angeben, die Lambda -Funktion ausgelöst wird.

Es kann viele andere Szenarien geben, in denen S3 als Auslöser verwendet werden kann, um die Lambda -Funktion aufzurufen.

Lastenausgleicher

Angenommen, Ihre Anwendung ist so konzipiert, dass Sie auf Lambda-Funktionen ausgeführt werden, da die Lambda-Funktion die kostengünstigste Lösung für eine einfache Cloud-basierte Anwendung ist. Um Ihre Anwendung den Endbenutzern auszusetzen. Wählen Sie für diesen Abschnitt den Lastausgleich, der als Auslöser fungiert, um die Lambda -Funktion aufzurufen. Denken Sie daran, dass Sie den Anwendungslastbalancer für diese Aufgabe nur einrichten können, da andere Lastbalancer nicht von Lambda -Funktionen unterstützt werden.

Um den Anwendungslastausgleich zur Lambda -Funktion hinzuzufügen, müssen Sie zunächst eine Zielgruppe erstellen, und die Lambda -Funktion wird dieser Zielgruppe hinzugefügt. Jetzt kann die neu erstellte Zielgruppe den Hörern des Anwendungslastausgleichs hinzugefügt werden.

Cloudfront

Amazon CloudFront ist eigentlich ein CDN (Inhaltsdeliefer -Netzwerk) und wird verwendet, um die Anwendungsdaten an Randorten zu zwischenstrahlen, die den Endbenutzern im Vergleich zu den tatsächlichen Anwendungsservern viel näher sind. Mit CloudFront können Sie die Reaktionszeit wirklich verbessern, um den statischen Inhalt den Endbenutzern auf der ganzen Welt zu bedienen.

Die Lambda -Funktionen können mit dem CloudFront -Dienst ausgelöst werden. Dazu müssen Sie Ihre Lambda -Funktion an den Kantenpositionen auf der ganzen Welt bereitstellen, die als lambda@Edge bekannt sind.

Sie können die CloudFront als Auslöser festlegen, um die Anforderungen über CloudFront an die Lambda@egde zu senden, um die Antwortzeit zu verbessern. Da die Lambda@Edge an allen Kantenorten weltweit bereitgestellt wird.

Um dies zu konfigurieren, gehen Sie einfach zu Trigger hinzufügen und wählen Sie den Cloudfront -Dienst. Dort werden Sie das sehen Bereitstellung auf Lambda@Edge Möglichkeit.

Jetzt müssen Sie nur noch die Konfigurationsschritte ausführen und sie beginnen.

CloudWatch -Protokolle

Wenn Sie über die Überwachung in der AWS -Cloud nachdenken, ist Cloudwatch als erstes ein sehr großer Überwachungsdienst, der für verschiedene Dienste auf sehr hilfreiche Weise konfiguriert werden kann.

CloudWatch -Protokolle, wie der Name definiert, ist ein Protokollierungsdienst, mit dem alle Arten von Protokollen gespeichert werden können. Sie können verschiedene Protokollgruppen für verschiedene Dienste erstellen, um die Protokolle getrennt zu halten. Diese Protokolle können verwendet werden, um Ihre Lambda -Funktion basierend auf den Ereignissen auszulösen, die sie erhalten, unabhängig von dem Service oder Verfahren, der diese Ereignisse erzeugt.

Sie können den Auslöser entweder aus der Lambda -Funktionskonsole oder direkt über die CloudWatch -Protokolle konfigurieren. Um dies aus der CloudWatch -Konsole zu tun, gehen Sie einfach zum CloudWatch -Dienst und öffnen Sie die Protokollgruppen. Hier müssen Sie einen Lambda -Abonnementfilter erstellen.

Wählen Sie als Nächstes die gewünschte Lambda -Funktion und Sie können loslegen.

Wenn CloudWatch diesen Protokollstrom erhält, fungiert er nun als Auslöser, um die Lambda -Funktion aufzurufen.

EventBridge

Amazon EventBridge (zuvor als CloudWatch -Ereignisse bezeichnet) ist ein AWS -Dienst, mit dem Sie die Ereignisregeln erstellen können, um einen bestimmten AWS -Dienst für ein bestimmtes Ereignis auszulösen, das in einem AWS -Konto stattfindet.

Es gibt eine Vielzahl von Regeln, die Sie für AWS-Dienste (z. Diese Regeln können weiter mit anderen Diensten wie Lambda -Funktionen in Verbindung gebracht werden, so dass diese Regel die Lambda -Funktion aufruft.

Wenn Sie bereits über eine EventBridge -Regel festgelegt sind, können Sie diese Regel einfach zu Ihrer Lambda -Funktion hinzufügen. Wählen Sie die EventBridge als Auslöser aus und geben Sie einfach den Namen der Regel an.

Eine vorhandene Regel wird hier als Auslöser hinzugefügt, aber Sie können zu diesem Zeitpunkt auch eine Regel erstellen.

Dynamode

Sie haben vielleicht gewusst, dass DynamoDB nur eine NoSQL -Datenbank ist und sie als vollständig separater Dienst in AWS erscheint. Dies handelt. Diese DynamoDB -Tabellen können so konfiguriert werden, dass sie als Auslöser fungieren, um die Lambda -Funktionen aufzurufen.

Die Daten aus dem DynamoDB können als Eingabe in Lambda in Form von Stapeln geladen werden und werden mit dem in Lambda bereitgestellten Code verarbeitet.

Kinesis

Wenn Sie die Echtzeitdaten mit hoher Geschwindigkeit sammeln und analysieren möchten, können Sie von AWS Kinesis profitieren. Angenommen, Sie möchten die von den Kinesis -Datenströmen erfassten Daten mithilfe der Lambda -Funktionen verarbeiten. Sie müssen lediglich Ihre Lambda -Funktion jedes Mal auslösen, wenn die Daten von der Kinesis aufgezeichnet werden.

Sie sind gerade fertig damit, Ihren Kinesis -Datenstrom zu konfigurieren, um die Lambda -Funktion aufzurufen.

Sns

Es ist ledig. Die Lambda -Funktionen können mit diesem Dienst ausgelöst werden.

Erstellen Sie zuerst ein SNS -Thema und nutzen Sie es, um Ihre Lambda -Funktion aufzurufen.

Sie müssen den Namen Ihres SNS -Themas auswählen. Es gibt keine anderen Konfigurationen oder Einstellungen.

Abschluss

Amazon Lambda ist wirklich ein Durchbruch in der Cloud -Architektur. Die Entwicklung und Bereitstellung von Anwendungen waren vorher noch nie so einfach und unkompliziert. Sie können einfach Ihren Code in jedem gemeinsamen Framework erstellen und Ihren Code auf Lambda hochladen. Er wird ausgeführt. Es gibt eine lange Liste anderer Dienste, die mit AWS Lambda verbunden werden können und als Auslöser für Ihre Lambda -Funktion nur dann fungieren können, wenn sie erforderlich ist. Es gibt keine kontinuierlichen laufenden Kosten des Servers, aber Sie werden je nach Anzahl der Auslöser und Zeit der Codeausführung berechnet.