Versionen der Lambda-Funktion - 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.

Versionen der Lambda-Funktion

Sie können Versionen verwenden, um die Bereitstellung Ihrer Funktionen zu verwalten. Beispielsweise können Sie eine neue Version einer Funktion für Beta-Tests veröffentlichen, ohne dass Benutzer der stabilen Produktionsversion betroffen sind. Lambda erstellt jedes Mal, wenn Sie die Funktion veröffentlichen, eine neue Version Ihrer Funktion. Die neue Version ist eine Kopie der unveröffentlichten Version der Funktion. Die unveröffentlichte Version heißt $LATEST.

Anmerkung

Sie können Ihre Funktion nicht veröffentlichen und keine neue Version erstellen, wenn die unveröffentlichte Version ($LATEST) mit der zuvor veröffentlichten Version identisch ist. Sie müssen Codeänderungen bereitstellen oder Aktualisierungen an den Umgebungsvariablen Ihrer Funktion in $LATEST vornehmen, bevor Sie eine neue Version erstellen können.

Funktionsversionen sind unveränderlich, was bedeutet, dass Sie eine Version nach der Veröffentlichung nicht mehr ändern können. Die Funktionsversion enthält die folgenden Informationen:

  • Funktionscode und alle zugehörigen Abhängigkeiten.

  • Die von der Funktion verwendete Lambda-Laufzeit-ID und die Laufzeitversion.

  • Alle Funktionseinstellungen, einschließlich der Umgebungsvariablen.

  • Einen eindeutigen Amazon-Ressourcennamen (ARN) zur Identifizierung der spezifischen Version der Funktion.

Bei Verwendung von Steuerelementen zur Laufzeitverwaltung im Modus Auto (Automatisch) wird die Laufzeitversion, die von der Funktionsversion verwendet wird, automatisch aktualisiert. Bei Verwendung des Modus Function update (Funktionsaktualisierung) oder Manual (Manuell) wird die Laufzeitversion nicht aktualisiert. Weitere Informationen finden Sie unter Lambda-Laufzeitaktualisierungen.

Erstellen von Funktionsversionen

Sie können den Funktionscode und die Einstellungen nur in der nicht veröffentlichten Version einer Funktion ändern. Wenn Sie eine Version veröffentlichen, sperrt Lambda den Code und die meisten Einstellungen, um eine konsistente Erfahrung für Benutzer dieser Version zu gewährleisten. Weitere Hinweise zum Konfigurieren von Funktionseinstellungen finden Sie unter Konfigurieren von Lambda-Funktionsoptionen.

Sie können eine Funktionsversion mit der Lambda-Konsole erstellen.

So erstellen Sie eine neue Funktionsversion
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie eine Funktion aus und dann Versionen.

  3. Wählen Sie auf der Versionskonfigurationsseite die Option Neue Version veröffentlichen aus.

  4. (Optional) Geben Sie eine Versionsbeschreibung ein.

  5. Wählen Sie Publish.

Alternativ können Sie eine Version einer Funktion mithilfe der PublishVersion-API-Operation veröffentlichen.

Mit dem folgenden AWS CLI-Befehl wird eine neue Version einer Funktion veröffentlicht. In der Antwort werden die Konfigurationsinformationen der neuen Version zurückgegeben, einschließlich der Versionsnummer und des Funktion-ARN mit dem Versionssuffix.

aws lambda publish-version --function-name my-function

Die Ausgabe sollte folgendermaßen aussehen:

{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:1", "Version": "1", "Role": "arn:aws:iam::123456789012:role/lambda-role", "Handler": "function.handler", "Runtime": "nodejs20.x", ... }
Anmerkung

Lambda weist monoton steigende Sequenznummern für die Versionsverwaltung zu. Lambda verwendet niemals Versionsnummern wieder, auch nicht nachdem Sie eine Funktion gelöscht und neu erstellt haben.

Verwenden von Versionen

Sie können Ihre Lambda-Funktion entweder mit einem qualifizierten ARN oder einem nicht qualifizierten ARN referenzieren.

  • Qualifizierter ARN – Hierbei handelt es sich um den ARN der Funktion mit einem Versionssuffix. Das folgende Beispiel bezieht sich auf Version 42 der Funktion helloworld.

    arn:aws:lambda:aws-region:acct-id:function:helloworld:42
  • Unqualifizierter ARN – Hierbei handelt es sich um den ARN der Funktion ohne ein Versionssuffix.

    arn:aws:lambda:aws-region:acct-id:function:helloworld

Sie können in allen relevanten API-Operationen einen qualifizierten oder einen nicht qualifizierten ARN verwenden. Sie können jedoch keinen unqualifizierten ARN verwenden, um einen Alias zu erstellen.

Wenn Sie sich entscheiden, Funktionsversionen nicht zu veröffentlichen, können Sie entweder den qualifizierten oder den nicht qualifizierten ARN in Ihrer Ereignisquellen-Zuweisung verwenden, um die Funktion aufzurufen. Wenn Sie eine Funktion mit einem unqualifizierten ARN aufrufen, ruft Lambda implizit $LATEST auf.

Lambda veröffentlicht eine neue Funktionsversion nur dann, wenn der Code noch nie veröffentlicht wurde oder wenn sich der Code im Vergleich zur zuletzt veröffentlichten Version geändert hat. Wenn keine Änderung vorliegt, bleibt die Funktionsversion die zuletzt veröffentlichte Version.

Der qualifizierte ARN für jede Lambda-Funktionsversion ist eindeutig. Nachdem Sie eine Version veröffentlicht haben, können Sie den ARN oder den Funktionscode nicht ändern.

Gewähren von Berechtigungen

Sie können eine ressourcenbasierte Richtlinie oder eine identitätsbasierte Richtlinie verwenden, um Zugriff auf Ihre Funktion zu gewähren. Der Umfang der Berechtigung hängt davon ab, ob Sie die Richtlinie auf eine Funktion oder auf eine Version einer Funktion anwenden. Weitere Hinweise zu Funktionsressourcennamen in Richtlinien finden Sie unter Ressourcen und Bedingungen für Lambda-Aktionen.

Sie können die Verwaltung von Ereignisquellen und AWS Identity and Access Management (IAM)-Richtlinien mithilfe von Funktionsaliasnamen vereinfachen. Weitere Informationen finden Sie unter Lambda-Funktionsaliase.