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.
Erstellen Sie einen Alias für eine Lambda-Funktion
Sie können für Ihre Lambda-Funktion Aliasse erstellen. Ein Lambda-Alias ist ein Zeiger auf eine Version einer Funktion, der aktualisiert werden kann. Die Benutzer der Funktion können über den Amazon-Ressourcennamen (ARN) des Alias auf die Funktionsversion zugreifen. Wenn Sie eine neue Version bereitstellen, können Sie den Alias aktualisieren, um ihn auf die neue Version umzustellen oder den Datenverkehr zwischen zwei Versionen aufzuteilen.
Sections
Erstellen eines Funktionsalias (Konsole)
Sie können einen Funktionsalias mit der Lambda-Konsole erstellen.
Erstellen eines Alias
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie eine Funktion aus.
-
Wählen Sie Aliasse und dann Alias erstellen aus.
-
Führen Sie auf der Seite Alias erstellen die folgenden Schritte aus:
-
Machen Sie für den Alias eine Angabe unter Name.
-
(Optional) Geben Sie eine Beschreibung für den Alias ein.
-
Wählen Sie unter Version, eine Funktionsversion aus, auf die der Alias verweisen soll.
-
(Optional) Um das Routing für den Alias zu konfigurieren, erweitern Sie den Eintrag Gewichteter Alias. Weitere Informationen finden Sie unter Alias-Weiterleitungskonfiguration.
-
Wählen Sie Save (Speichern) aus.
-
Verwalten von Aliassen mit der Lambda-API
Verwenden Sie den create-alias
Befehl, um einen Alias mit AWS Command Line Interface (AWS CLI) zu erstellen.
aws lambda create-alias --function-name
my-function
--namealias-name
--function-versionversion-number
--description " "
Verwenden Sie den Befehl update-alias
, um einen Alias so zu ändern, dass er auf eine neue Version der Funktion verweist.
aws lambda update-alias --function-name
my-function
--namealias-name
--function-versionversion-number
Verwenden Sie den Befehl delete-alias
, um einen Alias zu löschen.
aws lambda delete-alias --function-name
my-function
--namealias-name
Die AWS CLI Befehle in den vorherigen Schritten entsprechen den folgenden Lambda-API-Operationen:
Verwaltung von Aliasen mit und AWS SAMAWS CloudFormation
Sie können Funktionsaliase mit AWS Serverless Application Model (AWS SAM) und erstellen und verwalten. AWS CloudFormation
Informationen zur Deklaration eines Funktionsalias in einer AWS SAM Vorlage finden Sie auf der Seite AWS: :Serverless: :Function im Developer Guide. AWS SAM Informationen zum Erstellen und Konfigurieren von Aliasen mithilfe AWS CloudFormation von finden Sie unter AWS: :Lambda: :Alias im Benutzerhandbuch. AWS CloudFormation
Verwenden von Aliassen
Jeder Alias hat einen eindeutigen ARN. Ein Alias kann nur auf eine Funktionsversion verweisen, nicht auf einen anderen Alias. Sie können einen Alias aktualisieren, um auf eine neue Version der Funktion zu verweisen.
Ereignisquellen wie Amazon Simple Storage Service (Amazon S3) rufen Ihre Lambda-Funktion auf. Diese Ereignisquellen pflegen eine Zuweisung, die die Funktion identifiziert, die beim Auftreten von Ereignissen aufgerufen werden soll. Wenn Sie in der Mappingkonfiguration einen Lambda-Funktionsalias angeben, müssen Sie das Mapping nicht aktualisieren, wenn sich die Funktionsversion ändert. Weitere Informationen finden Sie unter Wie Lambda Datensätze aus Stream- und warteschlangenbasierten Ereignisquellen verarbeitet.
In einer Ressourcenrichtlinie können Sie Berechtigungen für Ereignisquellen zur Verwendung Ihrer Lambda-Funktion erteilen. Wenn Sie in der Richtlinie einen Alias-ARN angeben, müssen Sie die Richtlinie nicht aktualisieren, wenn sich die Funktionsversion ändert.
Ressourcenrichtlinien
Sie können eine ressourcenbasierte Richtlinie verwenden, um einem Dienst, einer Ressource oder einem Konto Zugriff auf Ihre Funktion zu gewähren. Der Umfang dieser Berechtigung hängt davon ab, ob Sie sie auf einen Alias, eine Version oder die gesamte Funktion anwenden. Wenn Sie beispielsweise einen Aliasnamen verwenden (z. B. helloworld:PROD
), gewährt Ihnen die Berechtigung, die Funktion helloworld
mithilfe des ARN des Alias (helloworld:PROD
) aufzurufen.
Wenn Sie versuchen, die Funktion ohne Alias oder eine bestimmte Version aufzurufen, erhalten Sie einen Berechtigungsfehler. Dieser Berechtigungsfehler tritt weiterhin auf, selbst wenn Sie versuchen, die dem Alias zugeordnete Funktionsversion direkt aufzurufen.
Der folgende AWS CLI Befehl erteilt Amazon S3 beispielsweise die Berechtigung, den PROD-Alias der helloworld
Funktion aufzurufen, wenn Amazon S3 im Namen von handelt. DOC-EXAMPLE-BUCKET
aws lambda add-permission --function-name helloworld \ --qualifier PROD --statement-id 1 --principal s3.amazonaws.com --action lambda:InvokeFunction \ --source-arn arn:aws:s3:::DOC-EXAMPLE-BUCKET --source-account 123456789012
Weitere Hinweise zum Verwenden von Ressourcennamen in Richtlinien finden Sie unter Feinabstimmung der Abschnitte „Ressourcen“ und „Bedingungen“ der Richtlinien.
Alias-Weiterleitungskonfiguration
Verwenden Sie die Weiterleitungskonfiguration für einen Alias, um einen Teil des Datenverkehrs an eine zweite Funktionsversion zu senden. Beispielsweise können Sie das Risiko der Bereitstellung einer neuen Version verringern, indem Sie den Alias so konfigurieren, dass der größte Teil des Datenverkehrs an die vorhandene Version gesendet wird, und nur ein geringer Prozentsatz des Datenverkehrs an die neue Version.
Beachten Sie, dass Lambda ein einfaches probabilistisches Modell verwendet, um den Datenverkehr zwischen den beiden Funktionsversionen zu verteilen. Bei niedrigem Datenverkehr sehen Sie möglicherweise eine hohe Abweichung zwischen dem konfigurierten und dem tatsächlichen Prozentsatz des Datenverkehrs für jede Version. Wenn Ihre Funktion bereitgestellte Parallelität verwendet, können Sie Überlaufaufrufe durch Konfigurieren einer höheren Anzahl von bereitgestellten Parallelitätsinstances während des aktiven Alias-Routings vermeiden.
Sie können ein Alias auf maximal zwei Lambda-Funktionsversionen verweisen lassen. Die Versionen müssen folgende Kriterien erfüllen:
-
Beide Versionen müssen die gleiche Ausführungsrolle haben.
-
Beide Versionen müssen die gleiche Warteschlangenkonfiguration für unzustellbare Nachrichten oder keine Warteschlangenkonfiguration für unzustellbare Nachrichten haben.
-
Beide Versionen müssen veröffentlicht werden. Der Alias darf nicht auf verweise
$LATEST
.
Konfigurieren des Routings für einen Alias
Anmerkung
Stellen Sie sicher, dass die Funktion über mindestens zwei veröffentlichte Versionen verfügt. Um weitere Versionen zu erstellen, folgen Sie den Anweisungen unter Versionen der Lambda-Funktion.
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie eine Funktion aus.
-
Wählen Sie Aliasse und dann Alias erstellen aus.
-
Führen Sie auf der Seite Alias erstellen die folgenden Schritte aus:
-
Machen Sie für den Alias eine Angabe unter Name.
-
(Optional) Geben Sie eine Beschreibung für den Alias ein.
-
Wählen Sie unter Version die erste Funktionsversion aus, auf die der Alias verweisen soll.
-
Erweitern Sie Gewichteter Alias.
-
Wählen Sie unter Zusätzliche Version die zweite Funktionsversion aus, auf die der Alias verweisen soll.
-
Geben Sie unter Gewicht (%) einen Gewichtungswert für die Funktion ein. Die Gewichtung ist der Prozentsatz des Datenverkehrs, der beim Aufruf des Alias dieser Version zugewiesen wird. Die erste Version erhält den Datenverkehr mit der verbleibenden Gewichtung. Wenn Sie beispielsweise 10 Prozent für die Additional version (Zusätzliche Version) angeben, werden der ersten Version automatisch 90 Prozent zugewiesen.
-
Wählen Sie Save aus.
-
Konfigurieren des Alias-Routings mithilfe der CLI
Verwenden Sie die Befehle update-alias
AWS CLI und create-alias
, um die Datenverkehrsgewichtungen zwischen zwei Funktionsversionen zu konfigurieren. Wenn Sie den Alias erstellen oder aktualisieren, geben Sie die Datenverkehrsgewichtung im routing-config
-Parameter an.
Im folgenden Beispiel wird ein Lambda-Funktionsalias namens routing-alias erstellt, der auf Version 1 der Funktion verweist. Version 2 der Funktion erhält 3 Prozent des Datenverkehrs. Die verbleibenden 97 Prozent des Datenverkehrs werden zu Version 1 weitergeleitet.
aws lambda create-alias --name routing-alias --function-name my-function --function-version 1 \ --routing-config AdditionalVersionWeights={"2"=0.03}
Verwenden Sie den update-alias
-Befehl, um den Prozentsatz des eingehenden Datenverkehrs an Version 2 zu erhöhen. Im folgenden Beispiel erhöhen Sie den Datenverkehr auf 5 Prozent.
aws lambda update-alias --name routing-alias --function-name my-function \ --routing-config AdditionalVersionWeights={"2"=0.05}
Um den gesamten Datenverkehr an Version 2 weiterzuleiten, ändern Sie den Befehl update-alias
, um die Eigenschaft function-version
so zu ändern, dass der Alias auf Version 2 verweist. Der Befehl setzt auch die Weiterleitungskonfiguration zurück.
aws lambda update-alias --name routing-alias --function-name my-function \ --function-version 2 --routing-config AdditionalVersionWeights={}
Die AWS CLI Befehle in den vorherigen Schritten entsprechen den folgenden Lambda-API-Operationen:
Feststellen, welche Version aufgerufen wurde
Wenn Sie Datenverkehrsgewichtungen zwischen zwei Funktionsversionen konfigurieren, gibt es zwei Möglichkeiten, die aufgerufene Lambda-Funktionsversion zu bestimmen:
-
CloudWatch Logs — Lambda gibt bei jedem Funktionsaufruf automatisch einen
START
Protokolleintrag, der die aufgerufene Versions-ID enthält, an Amazon CloudWatch Logs aus. Im Folgenden wird ein Beispiel gezeigt:19:44:37 START RequestId:
request id
Version: $version
Für Aliasaufrufe verwendet Lambda die Dimension
Executed Version
zum Filtern der Metrikdaten nach aufgerufener Version. Weitere Informationen finden Sie unter Arbeiten mit Lambda-Funktionsmetriken. -
Antwortnutzlast (synchrone Aufrufe) – Antworten auf synchrone Funktionsaufrufe enthalten einen
x-amz-executed-version
-Header, der angibt, welche Funktionsversion aufgerufen wurde.