Bereitstellen von Lambda-Funktionen als ZIP-Dateiarchive - 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.

Bereitstellen von Lambda-Funktionen als ZIP-Dateiarchive

Wenn Sie eine Lambda-Funktion erstellen, verpacken Sie Ihren Funktionscode in einem 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 einer Lambda-Funktion mit einem Container-Image.

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.

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.

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
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie Funktion erstellen aus.

  3. Wählen Sie Von Grund auf neu erstellen oder Vorlage verwenden, um Ihre Funktion zu erstellen.

  4. Führen Sie unter Basic information (Grundlegende Informationen) die folgenden Schritte aus:

    1. Geben Sie für Funktionsname den Funktionsnamen ein. Funktionsnamen sind auf eine Länge von 64 Zeichen beschränkt.

    2. Wählen Sie für Laufzeit die Sprachversion aus, die für Ihre Funktion verwendet werden soll.

    3. (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.

  5. (Optional) Erweitern Sie unter Berechtigungen die Option Standardausführungsrolle ändern. Sie können eine neue Ausführungsrolle erstellen oder eine vorhandene Rolle verwenden.

  6. (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.

  7. Wählen Sie Funktion erstellen aus.

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.

Node.js

Bereitstellen von Node.js Lambda-Funktionen mit ZIP-Dateiarchiven

Python

Arbeiten mit ZIP-Dateiarchiven und Python-Lambda-Funktionen

Ruby

Bereitstellen von Ruby-Lambda-Funktionen mit ZIP-Dateiarchiven

Java

Bereitstellen von Java-Lambda-Funktionen mit ZIP- oder JAR-Dateiarchiven

Go

Bereitstellen von Lambda-Go-Funktionen mit ZIP-Dateiarchiven

C#

Erstellen und Bereitstellen von C#-Lambda-Funktionen mit ZIP-Dateiarchiven

PowerShell

Stellen Sie PowerShell Lambda-Funktionen mit ZIP-Dateiarchiven bereit

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

Bei 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
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie die zu aktualisierende Funktion aus und wählen Sie die Code-Registerkarte.

  3. Wählen Sie unter Codequelle die Option Upload von aus.

  4. Wählen Sie .zip-Datei und dann Hochladen.

    1. Wählen Sie in der Dateiauswahl die neue Image-Version aus, wählen Sie Öffnen und dann Speichern.

  5. (Alternative zu Schritt 4) Wählen Sie den Amazon-S3-Standort.

    1. Geben Sie in das Textfeld die S3-Link-URL des ZIP-Dateiarchivs ein und wählen Sie dann Speichern.

Ändern der Laufzeit

Wenn Sie die Funktionskonfiguration aktualisieren, um eine neue Laufzeit zu verwenden, müssen Sie möglicherweise den Funktionscode aktualisieren, damit dieser 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 Basis-Images Node.js 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 wieglibc. Weitere Informationen finden Sie unter Introducing the Amazon Linux 2023 runtime for AWS Lambda im AWS -Compute-Blog.

So ändern Sie die Laufzeit
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie die zu aktualisierende Funktion aus und wählen Sie die Code-Registerkarte.

  3. Blättern Sie nach unten bis zum Abschnitt Laufzeiteinstellungen, der sich unter dem Code-Editor befindet.

  4. Wählen Sie Edit (Bearbeiten) aus.

    1. Wählen Sie für Runtime (Laufzeit) die Laufzeit-ID aus.

    2. Geben Sie im Feld Handler den Dateinamen und en Handler für die Funktion ein.

    3. Für-Architekturwählen Sie die Befehlssatz-Architektur aus, die für Ihre Funktion verwendet werden soll.

  5. Wählen Sie Save (Speichern) aus.

Ä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 Sie Node.js, Python oder Ruby verwenden und Ihren Funktionscode im eingebettetenEditorkann der vorhandene Code ohne Änderung ausgeführt werden.

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
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie die zu aktualisierende Funktion aus und wählen Sie die Code-Registerkarte.

  3. Wählen Sie unter Laufzeiteinstellungen die Option Bearbeiten.

  4. Für-Architekturwählen Sie die Befehlssatz-Architektur aus, die für Ihre Funktion verwendet werden soll.

  5. Wählen Sie Save (Speichern) aus.

Verwenden der Lambda-API

Um eine Funktion zu erstellen und zu konfigurieren, die ein ZIP-Dateiarchiv verwendet, verwenden Sie die folgenden API-Operationen:

Laden Sie Ihren Funktionscode herunter

Sie können die aktuelle unveröffentlichte ($LATEST) Version Ihres Funktionscodes (.zip) über die Lambda-Konsole herunterladen. Stellen Sie dazu zunächst sicher, dass Sie über die folgenden IAM-Berechtigungen verfügen:

  • iam:GetPolicy

  • iam:GetPolicyVersion

  • iam:GetRole

  • iam:GetRolePolicy

  • iam:ListAttachedRolePolicies

  • iam:ListRolePolicies

  • iam:ListRoles

Um den Funktionscode (.zip) herunterzuladen
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie die Funktion aus, für die Sie den Funktionscode (.zip) herunterladen möchten.

  3. Wählen Sie in der Funktionsübersicht die Schaltfläche Herunterladen und anschließend Funktionscode herunterladen (.zip).

    1. Wählen Sie alternativ AWS SAM Datei herunterladen, 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.

AWS CloudFormation

Sie können AWS CloudFormation damit eine Lambda-Funktion erstellen, die ein ZIP-Dateiarchiv verwendet. In Ihrer AWS CloudFormation Vorlage spezifiziert die AWS::Lambda::Function Ressource die Lambda-Funktion. Eine Beschreibung der Eigenschaften in der AWS::Lambda::Function Ressource finden Sie AWS::Lambda::Functionim AWS CloudFormation Benutzerhandbuch.

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::Function

    • PackageType — Eingestellt aufZip.

    • Code – Geben Sie den Namen des Amazon-S3-Buckets und den ZIP-Dateinamen in die Textfelder S3Bucket und S3Key. Für Node.js oder Python können Sie Inline-Quellcode Ihrer Lambda-Funktion bereitstellen.

    • Laufzeit – Legt den Laufzeitwert fest.

    • Architektur — Stellen Sie den Architekturwert auf ein, arm64 um den AWS Graviton2-Prozessor zu verwenden. Der Standardwert istx86_64aus.