Verstehen Sie die wichtigsten Lambda-Konzepte - AWS Lambda

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verstehen Sie die wichtigsten Lambda-Konzepte

Lambda ist ein ereignisgesteuerter Rechendienst, der Instanzen Ihrer Funktion ausführt, um Ereignisse zu verarbeiten. Sie können Ihre Funktion direkt mit dem Lambda aufrufenAPI, oder Sie können einen AWS Dienst oder eine Ressource so konfigurieren, dass sie Ihre Funktion aufruft.

In den folgenden Abschnitten werden einige wichtige Konzepte von Lambda-Funktionen, das ereignisgesteuerte Programmiermodell und die Umgebung beschrieben, in der Ihre Funktion ausgeführt wird.

Funktion

Eine Funktion ist eine Ressource, die Sie aufrufen können, um Ihren Code in Lambda auszuführen. Eine Funktion hat Code zur Verarbeitung der Ereignisse, die Sie an die Funktion übergeben oder die andere AWS Dienste an die Funktion senden.

Auslöser

Ein Auslöser ist eine Ressource oder Konfiguration, die eine Lambda-Funktion aufruft. Auslöser umfassen AWS -Services, die Sie zum Aufrufen einer Funktion und Ereignisquellen-Mappings konfigurieren können. Ein Ereignisquellen-Mapping ist eine Ressource in Lambda die Elemente aus einem Stream oder einer Warteschlange liest und eine Funktion aufruft. Weitere Informationen erhalten Sie unter Grundlegendes zu Methoden zum Aufrufen von Lambda-Funktionen und Lambda mit Ereignissen aus anderen Diensten aufrufen AWS.

Ereignis

Ein Ereignis ist ein Dokument im JSON -Format, das Daten für die Verarbeitung durch eine Lambda-Funktion enthält. Die Laufzeit konvertiert die Funktion zu einem Objekt und übergibt es an Ihren Funktionscode. Wenn Sie eine Funktion aufrufen, bestimmen Sie die Struktur und den Inhalt des Ereignisses.

Beispiel Benutzerdefiniertes Ereignis – Wetterdaten
{ "TemperatureK": 281, "WindKmh": -3, "HumidityPct": 0.55, "PressureHPa": 1020 }

Wenn ein AWS Dienst Ihre Funktion aufruft, definiert der Dienst die Form des Ereignisses.

Beispiel Serviceereignis — SNS Amazon-Benachrichtigung
{ "Records": [ { "Sns": { "Timestamp": "2019-01-02T12:45:07.000Z", "Signature": "tcc6faL2yUC6dgZdmrwh1Y4cGa/ebXEkAi6RibDsvpi+tE/1+82j...65r==", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "Hello from SNS!", ...

Weitere Informationen zu Ereignissen im Zusammenhang mit AWS Services finden Sie unterLambda mit Ereignissen aus anderen Diensten aufrufen AWS.

Ausführungsumgebung

Eine Ausführungsumgebung bietet eine sichere und isolierte Laufzeitumgebung für Ihre Lambda-Funktion. Eine Ausführungsumgebung verwaltet die Prozesse und Ressourcen, die zum Ausführen der Funktion erforderlich sind. Die Ausführungsumgebung bietet Lebenszyklusunterstützung für die Funktion und für alle Erweiterungen, die mit Ihrer Funktion verknüpft sind.

Weitere Informationen finden Sie unter Den Lebenszyklus der Lambda-Ausführungsumgebung verstehen.

Bereitstellungspaket

Sie stellen Ihren Lambda-Funktionscode mithilfe eines Bereitstellungspakets bereit. Lambda unterstützt zwei Arten von Bereitstellungspaketen:

Laufzeit

Die Laufzeit stellt eine sprachspezifische Umgebung bereit, die in der Ausführungsumgebung ausgeführt wird. Die Laufzeit leitet Aufrufereignisse, Kontextinformationen und Antworten zwischen Lambda und der Funktion weiter. Sie können von Lambda bereitgestellte Laufzeiten verwenden oder Ihre eigenen erstellen. Wenn Sie Ihren Code als ZIP-Dateiarchiv verpacken, müssen Sie Ihre Funktion so konfigurieren, dass eine Laufzeitumgebung verwendet wird, die Ihrer Programmiersprache entspricht. Bei einem Container-Image schließen Sie die Laufzeit beim Erstellen des Images ein.

Weitere Informationen finden Sie unter Lambda-Laufzeiten.

Ebene

Eine Lambda-Ebene ist ein ZIP-Dateiarchiv, das zusätzlichen Code oder Daten enthalten kann. Eine Ebene kann Bibliotheken, eine benutzerdefinierte Laufzeit, Daten oder Konfigurationsdateien enthalten.

Mit Ebenen lassen sich auf einfache Weise Bibliotheken und andere Abhängigkeiten verpacken, die Sie mit Ihren Lambda-Funktionen benutzen können. Die Verwendung von Ebenen verringert die Größe hochgeladener Bereitstellungsarchive und ermöglicht eine schnellere Bereitstellung Ihres Codes. Ebenen fördern außerdem die gemeinsame Nutzung von Code und die Trennung von Verantwortlichkeiten, damit Sie beim Schreiben von Geschäftslogik schneller iterieren können.

Sie können pro Funktion bis zu fünf Ebenen einschließen. Ebenen zählen zu den standardmäßigen Größenkontingenten für die Lambda-Bereitstellung. Wenn Sie eine Ebene in eine Funktion einschließen, wird der Inhalt in das /opt-Verzeichnis der Ausführungsumgebung entpackt.

Standardmäßig sind die Ebenen, die Sie erstellen, nur für Ihr AWS Konto verfügbar. Sie können eine Ebene wahlweise auch mit anderen Konten teilen oder sie öffentlich machen. Falls Ihre Funktionen eine Ebene verwendet, die ein anderes Konto veröffentlicht hat, können Ihre Funktionen die Ebenenversion auch weiterverwenden, nachdem diese gelöscht wurde oder Ihre Zugangsberechtigung zur Ebene widerrufen wurde. Sie können jedoch keine neue Funktion erstellen oder Funktionen mit einer gelöschten Ebenen-Version aktualisieren.

Funktionen, die als Container-Image bereitgestellt werden, verwenden keine Ebenen. Stattdessen packen Sie Ihre bevorzugte Laufzeitumgebung, Bibliotheken und andere Abhängigkeiten beim Erstellen des Images in das Container-Image.

Weitere Informationen finden Sie unter Verwaltung von Lambda-Abhängigkeiten mit Ebenen.

Nebenläufigkeit

Gleichzeitigkeit bezeichnet die Anzahl der Anforderungen, die Ihre Funktion zu einem bestimmten Zeitpunkt verarbeitet. Wenn Ihre Funktion aufgerufen wird, stellt Lambda eine Instance bereit, um das Ereignis zu verarbeiten. Wenn der Funktionscode die Ausführung abgeschlossen hat, kann er eine andere Anforderung verarbeiten. Wenn die Funktion erneut aufgerufen wird, während noch eine Anforderung verarbeitet wird, erfolgt die Bereitstellung einer weiteren Instance, wodurch die Gleichzeitigkeit der Funktion erhöht wird.

Für die Parallelität gelten Kontingente auf AWS Regionsebene. Sie können auch einzelne Funktionen konfigurieren, um ihre Gleichzeitigkeit zu begrenzen oder sicherzustellen, dass sie eine bestimmte Gleichzeitigkeitsstufe erreichen können. Weitere Informationen finden Sie unter Reservierte Parallelität für eine Funktion konfigurieren.

Qualifier

Wenn Sie eine Funktion aufrufen oder anzeigen, können Sie einen Qualifikator angeben, um eine Version oder einen Alias festzulegen. Eine Version ist ein unveränderlicher Snapshot des Codes und der Konfiguration einer Funktion, die einen numerischen Qualifikator hat. Beispiel, my-function:1. Ein Alias ist ein Zeiger auf eine Version, der aktualisiert werden kann, um ihn einer anderen Version zuzuordnen oder den Datenverkehr zwischen zwei Versionen aufzuteilen. Beispiel, my-function:BLUE. Sie können Versionen und Aliase zusammen verwenden, um eine stabile Schnittstelle für Clients bereitzustellen, über die diese Ihre Funktion aufrufen können.

Weitere Informationen finden Sie unter Lambda-Funktionsversionen verwalten.

Bestimmungsort

Ein Ziel ist eine AWS Ressource, über die Lambda Ereignisse aus einem asynchronen Aufruf senden kann. Sie können ein Ziel für Ereignisse konfigurieren, deren Verarbeitung fehlschlägt. Einige Services unterstützen auch ein Ziel für Ereignisse, die erfolgreich verarbeitet wurden.

Weitere Informationen finden Sie unter Ein Ziel hinzufügen.