Erstellen und Verwalten von Lambda-Funktions-URLs - 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.

Erstellen und Verwalten von Lambda-Funktions-URLs

Eine Funktions-URL ist ein dedizierter HTTPS-Endpunkt für Ihre Lambda-Funktion. Sie können eine Funktions-URL über die Lambda-Konsole oder die Lambda-API erstellen und konfigurieren. Wenn Sie eine Funktions-URL erstellen, generiert Lambda automatisch einen eindeutigen URL-Endpunkt für Sie. Sobald Sie eine Funktions-URL erstellt haben, ändert sich ihr URL-Endpunkt nie mehr. Funktions-URL-Endpunkte haben das folgende Format:

https://<url-id>.lambda-url.<region>.on.aws
Anmerkung

Funktions-URLs werden in den folgenden Regionen nicht unterstützt: Asien-Pazifik (Hyderabad) (ap-south-2), Asien-Pazifik (Melbourne) (ap-southeast-4), Kanada West (Calgary) (ca-west-1), Europa (Spanien) (eu-south-2), Europa (Zürich) (), Israel (Tel Aviveu-central-2) () und Naher Osten (VAEil-central-1) (). me-central-1

Der folgende Abschnitt zeigt, wie Sie eine Funktions-URL mithilfe der Lambda-Konsole AWS CLI, und -Vorlage erstellen und AWS CloudFormation verwalten.

Erstellen einer Funktions-URL (Konsole)

Gehen Sie wie folgt vor, um eine Funktions-URL mit der Konsole zu erstellen.

  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie den Namen der Funktion, für die Sie die Funktions-URL erstellen möchten.

  3. Wählen Sie die Registerkarte Konfiguration und dann Funktions-URL.

  4. Wählen Sie Funktions-URL erstellen.

  5. Für Auth-Typ wählen Sie AWS_IAM oder KEINE aus. Weitere Informationen zur Authentifizierung der Funktions-URL finden Sie unter Sicherheits- und Authentifizierungsmodell.

  6. (Optional) Wählen Sie Configure cross-origin resource sharing (CORS) (Cross-Origin Resource Sharing (CORS) konfigurieren) aus und konfigurieren Sie dann die CORS-Einstellungen für Ihre Funktions-URL. Weitere Informationen über CORS finden Sie unter Cross-Origin Resource Sharing (CORS).

  7. Wählen Sie Speichern.

Dies erstellt eine Funktions-URL für die $LATEST unveröffentlichte Version Ihrer Funktion. Die Funktions-URL wird im Abschnitt Function overview (Funktionsübersicht) der Konsole angezeigt.

  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie den Namen der Funktion mit dem Alias, für die Sie die Funktions-URL erstellen möchten.

  3. Wählen Sie die Registerkarte Aliase und wählen Sie dann den Namen der Funktion mit dem Alias, für die Sie die Funktions-URL erstellen möchten.

  4. Wählen Sie die Registerkarte Konfiguration und dann Funktions-URL.

  5. Wählen Sie Funktions-URL erstellen.

  6. Für Auth-Typ wählen Sie AWS_IAM oder KEINE aus. Weitere Informationen zur Authentifizierung der Funktions-URL finden Sie unter Sicherheits- und Authentifizierungsmodell.

  7. (Optional) Wählen Sie Configure cross-origin resource sharing (CORS) (Cross-Origin Resource Sharing (CORS) konfigurieren) aus und konfigurieren Sie dann die CORS-Einstellungen für Ihre Funktions-URL. Weitere Informationen über CORS finden Sie unter Cross-Origin Resource Sharing (CORS).

  8. Wählen Sie Speichern.

Dies erstellt eine Funktions-URL für Ihren Funktionsalias. Die Funktions-URL wird im Abschnitt Funktionsübersicht der Konsole für Ihren Alias angezeigt.

So erstellen Sie eine neue Funktion mit einer Funktions-URL (Konsole)
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie Funktion erstellen.

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

    1. Geben Sie unter Funktionsname einen Namen für Ihre Funktion ein, z. B. my-function.

    2. Wählen Sie für Runtime (Laufzeit) die bevorzugte Sprachlaufzeit aus, z. B. Node.js 18.x.

    3. Wählen Sie für Architecture (Architektur) entweder x86_64 oder arm64 aus.

    4. Erweitern Sie Permissions (Berechtigungen) und wählen Sie dann aus, ob eine neue Ausführungsrolle erstellt oder eine vorhandene Rolle verwendet werden soll.

  4. Erweitern Sie Advanced settings (Erweiterte Einstellungen) und wählen Sie dann Funktions-URL aus.

  5. Wählen Sie als Auth type (Authentifizierungstyp) die Option AWS_IAM (AWS_IAM) oder NONE (KEINE) aus. Weitere Informationen zur Authentifizierung der Funktions-URL finden Sie unter Sicherheits- und Authentifizierungsmodell.

  6. (Optional) Wählen Sie Cross-Origin Resource Sharing (CORS) konfigurieren aus. Wenn Sie diese Option während der Funktionserstellung auswählen, lässt Ihre Funktions-URL standardmäßig sämtliche Anfragen zu. Sie können die CORS-Einstellungen für Ihre Funktions-URL bearbeiten, nachdem Sie die Funktion erstellt haben. Weitere Informationen über CORS finden Sie unter Cross-Origin Resource Sharing (CORS).

  7. Wählen Sie Funktion erstellen.

Dies erstellt eine neue Funktions mit einer Funktions-URL für die $LATEST unveröffentlichte Version Ihrer Funktion. Die Funktions-URL wird im Abschnitt Function overview (Funktionsübersicht) der Konsole angezeigt.

Erstellen einer Funktions-URL (AWS CLI)

Führen Sie den folgenden Befehl aus, um mit der AWS Command Line Interface (AWS CLI) eine Funktions-URL für eine bestehende Lambda-Funktion zu erstellen:

aws lambda create-function-url-config \ --function-name my-function \ --qualifier prod \ // optional --auth-type AWS_IAM --cors-config {AllowOrigins="https://example.com"} // optional

Dies fügt eine Funktions-URL zum prod-Qualifizierer für die Funktionmy-function hinzu. Weitere Informationen zu diesen Konfigurationsparametern finden Sie CreateFunctionUrlConfigin der API-Referenz.

Anmerkung

Um eine Funktions-URL über die zu erstellen AWS CLI, muss die Funktion bereits vorhanden sein.

Hinzufügen einer Funktions-URL zu einer CloudFormation Vorlage

Verwenden Sie die folgende Syntax, um Ihrer AWS CloudFormation Vorlage eine AWS::Lambda::Url Ressource hinzuzufügen:

JSON

{ "Type" : "AWS::Lambda::Url", "Properties" : { "AuthType" : String, "Cors" : Cors, "Qualifier" : String, "TargetFunctionArn" : String } }

YAML

Type: AWS::Lambda::Url Properties: AuthType: String Cors: Cors Qualifier: String TargetFunctionArn: String

Parameter

  • (Erforderlich) AuthType – Definiert den Typ der Authentifizierung für Ihre Funktions-URL. Die möglichen Werte sind AWS_IAM oder NONE. Um den Zugriff nur auf authentifizierte Benutzer zu beschränken, setzen Sie den Wert auf AWS_IAM. Um die IAM-Authentifizierung zu umgehen und jedem Benutzer zu erlauben, Anfragen an Ihre Funktion zu stellen, setzten Sie dies auf NONE.

  • (Optional)Cors – Definiert die CORS-Einstellungen für Ihre Funktions-URL. Verwenden Sie Cors die folgende Syntax CloudFormation, um Ihrer AWS::Lambda::Url Ressource in etwas hinzuzufügen.

    Beispiel AWS::Lambda::Url.Cors (JSON)
    { "AllowCredentials" : Boolean, "AllowHeaders" : [ String, ... ], "AllowMethods" : [ String, ... ], "AllowOrigins" : [ String, ... ], "ExposeHeaders" : [ String, ... ], "MaxAge" : Integer }
    Beispiel AWS::Lambda::Url.Cors (YAML)
    AllowCredentials: Boolean AllowHeaders: - String AllowMethods: - String AllowOrigins: - String ExposeHeaders: - String MaxAge: Integer
  • (Optional) Qualifier – Der Aliasname.

  • (Erforderlich) TargetFunctionArn – Der Name oder der Amazon-Ressourcenname (ARN) der Lambda-Funktion. Gültige Namensformate sind unter anderem:

    • Funktionsnamemy-function.

    • Funktions-ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

    • Partiellet ARN123456789012:function:my-function.

Cross-Origin Resource Sharing (CORS)

Um zu definieren, wie verschiedene Ursprünge auf Ihre Funktions-URL zugreifen können, verwenden Sie Cross-Origin Resource Sharing (CORS). Wir empfehlen, CORS zu konfigurieren, wenn Sie beabsichtigen, Ihre Funktions-URL von einer anderen Domain aus aufzurufen. Lambda unterstützt die folgenden CORS-Header für Funktions-URLs.

CORS-Header CORS-Konfigurationseigenschaft Beispielwerte

Access-Control-Allow-Origin

AllowOrigins

* (alle Ursprünge zulassen)

https://www.example.com

http://localhost:60905

Access-Control-Allow-Methods

AllowMethods

GET, POST, DELETE, *

Access-Control-Allow-Headers

AllowHeaders

Date, Keep-Alive, X-Custom-Header

Access-Control-Expose-Headers

ExposeHeaders

Date, Keep-Alive, X-Custom-Header

Access-Control-Allow-Credentials

AllowCredentials

TRUE

Access-Control-Max-Age

MaxAge

5 (Standard), 300

Wenn Sie CORS für eine Funktions-URL mithilfe der Lambda-Konsole oder der konfigurieren AWS CLI, fügt Lambda über die Funktions-URL automatisch die CORS-Header zu allen Antworten hinzu. Alternativ können Sie Ihrer Funktionsantwort manuell CORS-Header hinzufügen. Wenn es widersprüchliche Header gibt, haben die konfigurierten CORS-Header auf der Funktions-URL Vorrang.

Drosseln von Funktions-URLs

Die Drosselungsrate begrenzt die Geschwindigkeit, mit der Ihre Funktion Anfragen verarbeitet. Dies ist in vielen Situationen nützlich, z. B. um zu verhindern, dass Ihre Funktion nachgelagerte Ressourcen überlastet, oder beim Verarbeiten eines plötzlichen Anstiegs der Anfragen.

Sie können die Rate der Anfragen, die Ihre Lambda-Funktion über eine Funktions-URL verarbeitet, drosseln, indem Sie die reservierte Gleichzeitigkeit konfigurieren. Reservierte Gleichzeitigkeit begrenzt die Anzahl der maximalen gleichzeitigen Aufrufe für Ihre Funktion. Die maximale Anforderungsrate Ihrer Funktion pro Sekunde (RPS) entspricht dem Zehnfachen der konfigurierten reservierten Gleichzeitigkeit. Wenn Sie Ihre Funktion beispielsweise mit einer reservierten Gleichzeitigkeit von 100 konfigurieren, beträgt der maximale RPS 1 000.

Immer wenn Ihre Funktionsparallelität die reservierte Gleichzeitigkeit überschreitet, gibt Ihre Funktions-URL einen HTTP-429-Statuscode zurück. Wenn Ihre Funktion eine Anforderung erhält, die das 10-fache RPS-Maximum basierend auf Ihrer konfigurierten reservierten Gleichzeitigkeit überschreitet, erhalten Sie auch einen HTTP-429-Fehler. Weitere Hinweise zur reservierten Gleichzeitigkeit finden Sie unter Konfigurieren reservierter Gleichzeitigkeit.

Deaktivieren von Funktions-URLs

Im Notfall sollten Sie den gesamten Datenverkehr zu Ihrer Funktions-URL ablehnen. Um eine Funktion zu deaktivieren, setzen Sie die reservierte Gleichzeitigkeit auf Null. Dies drosselt alle Anfragen an Ihre Funktions-URL, was zu HTTP-429-Statusantworten führt. Um Ihre Funktions-URL zu reaktivieren, löschen Sie die Konfiguration für die reservierte Gleichzeitigkeit oder legen Sie die Konfiguration auf einen Betrag größer als null fest.

Löschen von Funktions-URLs

Wenn Sie eine Funktions-URL löschen, können Sie sie nicht wiederherstellen. Das Erstellen einer neuen Funktions-URL führt zu einer anderen URL-Adresse.

Anmerkung

Wenn Sie Ihre Funktions-URL mit Authentifizierungstyp NONE löschen, löscht Lambda nicht automatisch die zugehörige ressourcenbasierte Richtlinie. Wenn Sie diese Richtlinie löschen möchten, müssen Sie dies manuell tun.

  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie den Namen einer Funktion aus.

  3. Wählen Sie die Registerkarte Konfiguration und dann Funktions-URL.

  4. Wählen Sie Löschen aus.

  5. Geben Sie den Ausdruck delete (löschen) in das Feld ein, um den Löschvorgang zu bestätigen.

  6. Wählen Sie Löschen aus.

Anmerkung

Wenn Sie eine Funktion löschen, die eine Funktions-URL hat, löscht Lambda die Funktions-URL asynchron. Wenn Sie sofort eine neue Funktion mit demselben Namen in demselben Konto erstellen, ist es möglich, dass die ursprüngliche Funktions-URL der neuen Funktion zugeordnet und nicht gelöscht wird.