Lambda-Funktion erstellen und verwalten 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.

Lambda-Funktion erstellen und verwalten URLs

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

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

Funktionen URLs werden in den folgenden Ländern nicht unterstützt AWS-Regionen: Asien-Pazifik (Hyderabad) (ap-south-2), Asien-Pazifik (Melbourneap-southeast-4) (), Asien-Pazifik (Malaysiaap-southeast-5) (), Kanada West (Calgary) (ca-west-1), Europa (Spanien) (eu-south-2), Europa (Zürich) (eu-central-2), Israel (Tel Aviv) (il-central-1) und Naher Osten (UAE) (). me-central-1

Function URLs ist Dual-Stack-fähig und unterstützt und. IPv4 IPv6 Nachdem Sie eine Funktion URL für Ihre Funktion konfiguriert haben, können Sie Ihre Funktion über ihren HTTP (S) -Endpunkt über einen Webbrowser, Curl, Postman oder einen beliebigen Client aufrufen. HTTP

Anmerkung

Sie können nur über das öffentliche Internet auf Ihre Funktion URL zugreifen. Lambda-Funktionen unterstützen zwar AWS PrivateLink, Funktionen jedoch URLs nicht.

Die Lambda-Funktion URLs verwendet ressourcenbasierte Richtlinien für Sicherheit und Zugriffskontrolle. Die Funktion unterstützt URLs auch ursprungsübergreifende Konfigurationsoptionen für die gemeinsame Nutzung von Ressourcen ()CORS.

Sie können die Funktion URLs auf jeden Funktionsalias oder auf die $LATEST unveröffentlichte Funktionsversion anwenden. Sie können eine Funktion URL keiner anderen Funktionsversion hinzufügen.

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

Eine Funktion URL (Konsole) erstellen

Gehen Sie wie folgt vor, um eine Funktion URL mithilfe der Konsole zu erstellen.

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

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

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

  4. Wählen Sie Funktion erstellenURL aus.

  5. Wählen Sie für Auth type die Option AWS_ IAM oder NONE. Weitere Hinweise zur URL Funktionsauthentifizierung finden Sie unterZugriffskontrolle.

  6. (Optional) Wählen Sie Quellübergreifende Ressourcenfreigabe konfigurieren (CORS) aus und konfigurieren Sie dann die CORS Einstellungen für Ihre FunktionURL. Weitere Informationen zu finden Sie CORS unterQuellenübergreifende gemeinsame Nutzung von Ressourcen () CORS.

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

Dadurch wird eine Funktion URL für die $LATEST unveröffentlichte Version Ihrer Funktion erstellt. Die Funktion URL wird im Bereich 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, URL für den Sie die Funktion erstellen möchten.

  3. Wählen Sie die Registerkarte Aliase und dann den Namen des Alias aus, URL für den Sie die Funktion erstellen möchten.

  4. Wählen Sie die Registerkarte Konfiguration und dann Funktion URL aus.

  5. Wählen Sie Funktion erstellenURL aus.

  6. Wählen Sie für Auth type die Option AWS_ IAM oder NONE. Weitere Hinweise zur URL Funktionsauthentifizierung finden Sie unterZugriffskontrolle.

  7. (Optional) Wählen Sie Quellübergreifende Ressourcenfreigabe konfigurieren (CORS) aus und konfigurieren Sie dann die CORS Einstellungen für Ihre FunktionURL. Weitere Informationen zu finden Sie CORS unterQuellenübergreifende gemeinsame Nutzung von Ressourcen () CORS.

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

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

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

  2. Wählen Sie Funktion erstellen aus.

  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 Erweiterte Einstellungen und wählen Sie dann Funktion ausURL.

  5. Wählen Sie für Auth type die Option AWS_ IAM oder NONE. Weitere Hinweise zur URL Funktionsauthentifizierung finden Sie unterZugriffskontrolle.

  6. (Optional) Wählen Sie Quellenübergreifende Ressourcenfreigabe konfigurieren (CORS) aus. Wenn Sie diese Option bei der Funktionserstellung auswählen, URL lässt Ihre Funktion standardmäßig Anfragen aller Herkunft zu. Sie können die CORS Einstellungen für Ihre Funktion bearbeiten, URL nachdem Sie die Funktion erstellt haben. Weitere Informationen zu finden CORS Sie unterQuellenübergreifende gemeinsame Nutzung von Ressourcen () CORS.

  7. Wählen Sie Funktion erstellen aus.

Dadurch wird eine neue Funktion mit einer Funktion URL für die $LATEST unveröffentlichte Version der Funktion erstellt. Die Funktion URL wird im Bereich Funktionsübersicht der Konsole angezeigt.

Eine Funktion erstellen URL (AWS CLI)

Führen Sie den folgenden Befehl aus, um mit der AWS Command Line Interface (AWS CLI) eine Funktion 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

Dadurch wird dem prod Qualifier für URL die Funktion eine Funktion hinzugefügt. my-function Weitere Informationen zu diesen Konfigurationsparametern finden Sie CreateFunctionUrlConfigin der API Referenz.

Anmerkung

Um eine Funktion URL über die zu erstellen AWS CLI, muss die Funktion bereits existieren.

Eine Funktion URL zu einer CloudFormation Vorlage hinzufügen

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 die Art der Authentifizierung für Ihre FunktionURL. 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 es jedem Benutzer zu ermöglichen, Anfragen an Ihre Funktion zu stellen, setzen Sie aufNONE.

  • (Optional) Cors — Definiert die CORSEinstellungen für Ihre FunktionURL. Verwenden Sie Cors die folgende Syntax CloudFormation, um Ihrer AWS::Lambda::Url Ressource 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.

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

    • Teilweise ARN123456789012:function:my-function

Quellenübergreifende gemeinsame Nutzung von Ressourcen () CORS

Um zu definieren, wie verschiedene Quellen auf Ihre Funktion zugreifen könnenURL, verwenden Sie Cross-Origin Resource Sharing () CORS. Wir empfehlen die KonfigurationCORS, wenn Sie Ihre Funktion URL von einer anderen Domain aus aufrufen möchten. Lambda unterstützt die folgenden CORS Header für die Funktion. URLs

CORSKopfzeile CORSKonfigurationseigenschaft 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 URL mit der Lambda-Konsole oder der eine Funktion konfigurieren CORS AWS CLI, fügt Lambda über die Funktion automatisch die CORS Header zu allen Antworten hinzu. URL Alternativ können Sie Ihrer Funktionsantwort manuell CORS Header hinzufügen. Bei widersprüchlichen Headern hängt das erwartete Verhalten von der Art der Anfrage ab:

  • Bei Preflight-Anfragen wie OPTIONS Anfragen haben die konfigurierten CORS Header der Funktion Vorrang. URL Lambda gibt in der Antwort nur diese CORS Header zurück.

  • Für Nicht-Preflight-Anfragen wie GET POST OR-Anfragen gibt Lambda sowohl die konfigurierten CORS Header der Funktion als auch die von der Funktion URL zurückgegebenen CORS Header zurück. Dies kann zu doppelten CORS Headern in der Antwort führen. Möglicherweise wird ein Fehler ähnlich dem folgenden angezeigt:The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.

Im Allgemeinen empfehlen wir, alle CORS Einstellungen der Funktion zu konfigurierenURL, anstatt CORS Header manuell in der Funktionsantwort zu senden.

Drosselungsfunktion 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 Funktion verarbeitet, drosseln, URL indem Sie reservierte Parallelität konfigurieren. Reservierte Gleichzeitigkeit begrenzt die Anzahl der maximalen gleichzeitigen Aufrufe für Ihre Funktion. Die maximale Anforderungsrate pro Sekunde (RPS) Ihrer Funktion entspricht dem Zehnfachen der konfigurierten reservierten Parallelität. Wenn Sie Ihre Funktion beispielsweise mit einer reservierten Parallelität von 100 konfigurieren, RPS beträgt der Höchstwert 1.000.

Immer wenn die Parallelität Ihrer Funktion die reservierte Parallelität überschreitet, gibt Ihre Funktion einen URL HTTP 429 Statuscode zurück. Wenn Ihre Funktion aufgrund Ihrer konfigurierten reservierten Parallelität eine Anforderung empfängt, die das 10-fache RPS Maximum überschreitet, erhalten Sie ebenfalls eine Fehlermeldung. HTTP 429 Weitere Hinweise zur reservierten Gleichzeitigkeit finden Sie unter Reservierte Parallelität für eine Funktion konfigurieren.

Funktion wird deaktiviert URLs

In einem Notfall möchten Sie möglicherweise den gesamten Datenverkehr zu Ihrer Funktion URL zurückweisen. Um Ihre Funktion zu deaktivierenURL, setzen Sie die reservierte Parallelität auf Null. Dadurch werden alle Anfragen an Ihre Funktion gedrosseltURL, was zu Statusantworten führt. HTTP 429 Um Ihre Funktion wieder zu aktivierenURL, löschen Sie die reservierte Parallelitätskonfiguration oder setzen Sie die Konfiguration auf einen Wert größer als Null.

Funktion wird gelöscht URLs

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

Anmerkung

Wenn Sie eine Funktion URL mit dem Authentifizierungstyp löschenNONE, löscht Lambda die zugehörige ressourcenbasierte Richtlinie nicht automatisch. 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 Funktion aus. URL

  4. Wählen Sie Löschen.

  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.

Anmerkung

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