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.
Bereitstellung von Lambda-Ereignisfunktionen als.zip-Dateiarchive
Wenn Sie eine Lambda-Ereignisfunktion erstellen, packen Sie Ihren Funktionscode in ein Bereitstellungspaket. Lambda unterstützt zwei Arten von Bereitstellungspaketen: Container-Images und .zip-Archive. Der Workflow zum Erstellen einer Funktion hängt vom Typ des Bereitstellungspakets ab. Zur Konfiguration einer Funktion, die als Container-Image definiert ist, siehe Erstellen Sie eine Lambda-Ereignisfunktion mithilfe eines Container-Images.
Sie können die Lambda-Konsole und die Lambda-API verwenden, um eine mit einem ZIP-Dateiarchiv definierte Funktion zu erstellen. Sie können auch eine aktualisierte ZIP-Datei uploaden, um den Funktionscode zu ändern.
Wenn Sie eine ZIP-Datei hochladen, speichert Lambda standardmäßig eine Kopie Ihres Quellcodes in Lambda-managed Speicher. Mit selbstverwalteter S3-Code-Speicher, Lambda liest Ihren Quellcode während der Erstellung und Aktualisierung von Funktionen aus Ihrem S3-Bucket und speichert keine separate Kopie Ihres Quellcodes. Lambda erstellt immer noch eine interne optimierte Darstellung Ihres Codes für den Aufruf. Auf Ihren Quellcode in S3 wird nicht bei jedem Kaltstart zugegriffen.
Anmerkung
Sie können den Bereitstellungspakettyp (.zip oder Container-Image) für eine vorhandene Funktion nicht ändern. Sie können zum Beispiel eine Container-Image-Funktion nicht so umwandeln, dass sie ein .zip-Archiv verwendet. Sie müssen eine neue Funktion erstellen.
Themen
Erstellen der Funktion
Wenn Sie eine Funktion erstellen, die mit einem ZIP-Dateiarchiv definiert ist, wählen Sie eine Codevorlage, die Sprachversion und die Ausführungsrolle für die Funktion aus. Sie fügen Ihren Funktionscode hinzu, nachdem Lambda die Funktion erstellt hat.
So erstellen Sie die Funktion
Öffnen Sie das Seite „Event-Funktionen“
der Lambda-Konsole. -
Wählen Sie Event-Funktion erstellen.
-
Wählen Sie Von Grund auf neu erstellen oder Vorlage verwenden, um Ihre Funktion zu erstellen.
-
Führen Sie unter Basic information (Grundlegende Informationen) die folgenden Schritte aus:
-
Geben Sie für Funktionsname den Funktionsnamen ein. Funktionsnamen sind auf eine Länge von 64 Zeichen beschränkt.
-
Wählen Sie für Laufzeit die Sprachversion aus, die für Ihre Funktion verwendet werden soll.
-
(Optional) Für-Architekturwählen Sie die Befehlssatz-Architektur aus, die für Ihre Funktion verwendet werden soll. Die Standardarchitektur ist x86_64. Stellen Sie beim Erstellen des Bereitstellungspakets für Ihre Funktion sicher, dass es damit kompatibel istBefehlssatz-Architekturaus.
-
-
(Optional) Erweitern Sie unter Berechtigungen die Option Standardausführungsrolle ändern. Sie können eine neue Ausführungsrolle erstellen oder eine vorhandene Rolle verwenden.
-
(Optional) Erweitern Sie den Abschnitt Advanced Settings (Erweiterte Einstellungen). Sie können eine Codesignatur-Konfiguration für die Funktion wählen. Sie können auch eine (Amazon VPC) für die Funktion konfigurieren, auf die zugegriffen werden soll.
-
Wählen Event-Funktion erstellen.
Lambda erstellt die neue Funktion. Sie können nun die Konsole verwenden, um den Funktionscode hinzuzufügen und andere Funktionsparameter und -funktionen zu konfigurieren. Anweisungen zur Codebereitstellung finden Sie auf der Handler-Seite für die Laufzeit, die Ihre Funktion verwendet.
Verwenden des Konsolencode-Editors
Die Konsole erstellt eine Lambda-Funktion mit einer einzigen Quelldatei. Bei Skriptsprachen können Sie diese Datei bearbeiten und mit dem integrierten Code-Editor weitere Dateien hinzufügen. Klicken Sie auf Save (Speichern), um die Änderungen zu speichern. Um Ihren Code auszuführen, wählen Sie Test.
Wenn Sie Ihren Funktionscode speichern, erstellt die Lambda-Konsole ein Bereitstellungspaket für das ZIP-Dateiarchiv. Wenn Sie Ihren Funktionscode außerhalb der Konsole (mit einer IDE) entwickeln, müssen Sie ein Bereitstellungspaket erstellen, um Ihren Code in die Lambda-Funktion hochzuladen.
Aktualisieren des Funktionscodes
Für Skriptsprachen (Node.js, Python und Ruby), können Sie Ihren Funktionscode im eingebetteten Code-Editor bearbeiten. Wenn der Code größer als 3 MB ist, oder wenn Sie Bibliotheken hinzufügen müssen, oder für Sprachen, die der Editor nicht unterstützt (Java, Go, C#), müssen Sie Ihren Funktionscode als .zip-Archiv uploaden. Wenn das ZIP-Dateiarchiv kleiner als 50 MB ist, können Sie das ZIP-Dateiarchiv von Ihrem lokalen Computer uploaden. Wenn die Datei größer als 50 MB ist, müssen Sie die Datei aus einem Amazon S3-Bucket in die Funktion uploaden.
So können Sie den Funktionscode als .zip-Archiv uploaden
Öffnen Sie den Seite „Event-Funktionen“
der Lambda-Konsole. -
Wählen Sie die zu aktualisierende Funktion aus und wählen Sie die Code-Registerkarte.
-
Wählen Sie unter Codequelle die Option Upload von aus.
-
Wählen Sie .zip-Datei und dann Hochladen.
Wählen Sie in der Dateiauswahl die neue Image-Version aus, wählen Sie Öffnen und dann Speichern.
-
(Alternative zu Schritt 4) Wählen Sie den Amazon-S3-Standort.
-
Geben Sie in das Textfeld die S3-Link-URL des ZIP-Dateiarchivs ein.
-
Unter Code-Speichermodus, wählen Sie eine der folgenden Optionen:
-
Kopiermodus (Standard)
-
Referenzmodus
-
-
Wählen Sie Speichern.
-
Bei der Aktualisierung des Funktionscodes aus einem Amazon S3-Bucket mit dem AWS CLI, können Sie den Codespeichermodus angeben. Stellen Sie ein S3ObjectStorageMode zu REFERENCE zu verwenden selbstverwalteter S3-Code-Speicher, oder COPY (Standard) zu verwenden Lambda-managed Speicher. Sie können den Speichermodus bei jedem Update ändern.
aws lambda update-function-code \ --function-name my-function \ --s3-bucketmy-bucket\ --s3-keymy-function.zip\ --s3-object-versionabc123\ --s3-object-storage-mode REFERENCE
Ändern der Laufzeit
Wenn Sie die Funktionskonfiguration aktualisieren, um eine neue Laufzeit zu verwenden, müssen Sie möglicherweise den Funktionscode aktualisieren, damit er mit der neuen Laufzeit kompatibel ist. Wenn Sie die Funktionskonfiguration aktualisieren, um eine andere Laufzeit zu verwenden,mussstellen Sie neuen Funktionscode bereit, der mit Laufzeit und Architektur kompatibel ist. Anweisungen zum Erstellen eines Bereitstellungspakets für den Funktionscode finden Sie auf der Handler-Seite für die Laufzeit, die die Funktion verwendet.
Die Node.js Die Basis-Images 20, Python 3.12, Java 21, .NET 8, Ruby 3.3 und höher basieren auf dem minimalen Container-Image von Amazon Linux 2023. Frühere Basis-Images verwenden Amazon Linux 2. AL2023 bietet mehrere Vorteile gegenüber Amazon Linux 2, darunter einen geringeren Bereitstellungsaufwand und aktualisierte Versionen von Bibliotheken wie glibc. Weitere Informationen finden Sie unter Introducing the Amazon Linux 2023 runtime for AWS Lambda
So ändern Sie die Laufzeit
Öffnen Sie das Seite „Event-Funktionen“
der Lambda-Konsole. -
Wählen Sie die zu aktualisierende Funktion aus und wählen Sie die Code-Registerkarte.
-
Blättern Sie nach unten bis zum Abschnitt Laufzeiteinstellungen, der sich unter dem Code-Editor befindet.
-
Wählen Sie Bearbeiten aus.
-
Wählen Sie für Runtime (Laufzeit) die Laufzeit-ID aus.
-
Geben Sie im Feld Handler den Dateinamen und en Handler für die Funktion ein.
-
Für-Architekturwählen Sie die Befehlssatz-Architektur aus, die für Ihre Funktion verwendet werden soll.
-
-
Wählen Sie Speichern.
Ändern der Architektur
Bevor Sie die Befehlssatzarchitektur ändern können, müssen Sie sicherstellen, dass der Code Ihrer Funktion mit der Zielarchitektur kompatibel ist.
Wenn du verwendest Node.js, Python oder Ruby und Sie bearbeiten Ihren Funktionscode im eingebetteten Editor, wird der vorhandene Code möglicherweise ohne Änderung ausgeführt.
Wenn Sie jedoch Ihren Funktionscode mithilfe eines Bereitstellungspakets im ZIP-Dateiarchiv angeben, müssen Sie ein neues ZIP-Dateiarchiv vorbereiten, das korrekt für die Ziel-Laufzeit- und Anleitungssatz-Architektur kompiliert und erstellt wird. Anweisungen dazu finden Sie auf der Handler-Seite für Ihre Funktions-Laufzeit.
So ändern Sie die Befehlssatz-Architektur
Öffnen Sie den Seite „Event-Funktionen“
der Lambda-Konsole. -
Wählen Sie die zu aktualisierende Funktion aus und wählen Sie die Code-Registerkarte.
-
Wählen Sie unter Laufzeiteinstellungen die Option Bearbeiten.
-
Für-Architekturwählen Sie die Befehlssatz-Architektur aus, die für Ihre Funktion verwendet werden soll.
-
Wählen Sie Speichern.
Verwenden der Lambda-API
Um eine Funktion zu erstellen und zu konfigurieren, die ein ZIP-Dateiarchiv verwendet, verwenden Sie die folgenden API-Operationen:
Herunterladen des Funktionscodes
Sie können das aktuelle unveröffentlichte herunterladen ($LATEST) Version Ihres Funktionscodes (.zip) von der Lambda-Konsole. Um dies zu tun, müssen Sie zunächst über die folgenden IAM-Berechtigungen verfügen:
-
iam:GetPolicy -
iam:GetPolicyVersion -
iam:GetRole -
iam:GetRolePolicy -
iam:ListAttachedRolePolicies -
iam:ListRolePolicies -
iam:ListRoles
So laden Sie den Funktionscode (.zip) herunter
-
Öffnen Sie das Seite „Event-Funktionen“
der Lambda-Konsole. -
Wählen Sie die Funktion aus, für die Sie den Funktionscode (.zip) herunterladen möchten.
-
Wählen Sie in der Funktionsübersicht die Schaltfläche Herunterladen und anschließend Funktionscode herunterladen (.zip).
-
Wählen Sie alternativ Laden Sie herunter AWS SAM Ordner um eine SAM-Vorlage zu generieren und herunterzuladen, die auf der Konfiguration Ihrer Funktion basiert. Sie können auch Beide herunterladen wählen, um sowohl die ZIP-Vorlage als auch die SAM-Vorlage herunterzuladen.
-
CloudFormation
Sie können verwenden CloudFormation um eine Lambda-Funktion zu erstellen, die ein ZIP-Dateiarchiv verwendet. In deinem CloudFormation Vorlage, die AWS::Lambda::Function Ressource spezifiziert die Lambda-Funktion. Für Beschreibungen der Eigenschaften finden Sie in der AWS::Lambda::Function Ressource, siehe AWS::Lambda::Funktion in der AWS CloudFormation Benutzerleitfaden.
Legen Sie in der AWS::Lambda::Function-Ressource die folgenden Eigenschaften fest, um eine Funktion zu erstellen, die als Zip-Datei-Archiv definiert ist:
-
AWS::Lambda::Funktion
PackageType — Auf gesetzt
Zip.Code – Geben Sie den Namen des Amazon-S3-Buckets und den ZIP-Dateinamen in die Textfelder
S3BucketundS3Key. Für Node.js oder Python, Sie können den Inline-Quellcode Ihrer Lambda-Funktion bereitstellen.-
Laufzeit – Legt den Laufzeitwert fest.
-
Architektur — Setzen Sie den Architekturwert auf
arm64zu verwenden AWS Graviton-Prozessoren. Der Standardwert istx86_64aus. -
S3ObjectStorageMode — (Optional) Auf eingestellt
REFERENCEzu verwenden selbstverwalteter S3-Code-Speicher. Eingestellt aufCOPY(Standard) zu verwenden Lambda-managed Speicher.