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.
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.
Tipp
Lambda bietet zwei Möglichkeiten, Ihre Funktion über einen HTTP-Endpunkt aufzurufen: function URLs und Amazon API Gateway. Wenn Sie sich nicht sicher sind, welche Methode für Ihren Anwendungsfall am besten geeignet ist, finden Sie weitere Informationen unter. Wählen Sie eine Methode, um Ihre Lambda-Funktion über eine HTTP-Anfrage aufzurufen
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
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 (VAE) (me-central-1
).
Function URLs ist Dual-Stack-fähig und unterstützt und. IPv4 IPv6 Nachdem Sie eine Funktions-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 HTTP-Client aufrufen.
Anmerkung
Auf Ihre Funktions-URL können Sie nur über das öffentliche Internet 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 CORS-Konfigurationsoptionen (Cross-Origin Resource Sharing).
Sie können die Funktion URLs auf einen beliebigen Funktionsalias oder auf die $LATEST
unveröffentlichte Funktionsversion anwenden. Sie können keiner anderen Funktionsversion eine Funktions-URL hinzufügen.
Der folgende Abschnitt zeigt, wie Sie eine Funktions-URL mithilfe der Lambda-Konsole AWS CLI, und -Vorlage erstellen und AWS CloudFormation verwalten
Themen
Erstellen einer Funktions-URL (Konsole)
Gehen Sie wie folgt vor, um eine Funktions-URL mit der Konsole zu erstellen.
-
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie den Namen der Funktion, für die Sie die Funktions-URL erstellen möchten.
-
Wählen Sie die Registerkarte Konfiguration und dann Funktions-URL.
-
Wählen Sie Funktions-URL erstellen.
-
Wählen Sie als Authentifizierungstyp AWS_IAModer NONE. Weitere Informationen zur Authentifizierung der Funktions-URL finden Sie unter Zugriffskontrolle.
-
(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).
-
Wählen Sie Save (Speichern) aus.
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.
-
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie den Namen der Funktion mit dem Alias, für die Sie die Funktions-URL erstellen möchten.
-
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.
-
Wählen Sie die Registerkarte Konfiguration und dann Funktions-URL.
-
Wählen Sie Funktions-URL erstellen.
-
Wählen Sie als Authentifizierungstyp AWS_IAModer NONE. Weitere Informationen zur Authentifizierung der Funktions-URL finden Sie unter Zugriffskontrolle.
-
(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).
-
Wählen Sie Save (Speichern) aus.
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)
-
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie Funktion erstellen aus.
-
Führen Sie unter Basic information (Grundlegende Informationen) die folgenden Schritte aus:
-
Geben Sie unter Funktionsname einen Namen für Ihre Funktion ein, z. B.
my-function
. -
Wählen Sie für Runtime (Laufzeit) die bevorzugte Sprachlaufzeit aus, z. B. Node.js 18.x.
-
Wählen Sie für Architecture (Architektur) entweder x86_64 oder arm64 aus.
-
Erweitern Sie Permissions (Berechtigungen) und wählen Sie dann aus, ob eine neue Ausführungsrolle erstellt oder eine vorhandene Rolle verwendet werden soll.
-
-
Erweitern Sie Advanced settings (Erweiterte Einstellungen) und wählen Sie dann Funktions-URL aus.
-
Wählen Sie als Authentifizierungstyp AWS_IAModer NONE. Weitere Informationen zur Authentifizierung der Funktions-URL finden Sie unter Zugriffskontrolle.
-
(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).
-
Wählen Sie Funktion erstellen aus.
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 eine Funktions-URL für eine bestehende Lambda-Funktion mithilfe von AWS Command Line Interface (AWS CLI) zu erstellen:
aws lambda create-function-url-config \ --function-name
my-function
\ --qualifierprod
\ // optional --auth-typeAWS_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 unter CreateFunctionUrlConfig in der API-Referenz.
Anmerkung
Um eine Funktions-URL über die zu erstellen AWS CLI, muss die Funktion bereits existieren.
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 sindAWS_IAM
oderNONE
. Um den Zugriff nur auf authentifizierte Benutzer zu beschränken, setzen Sie den Wert aufAWS_IAM
. Um die IAM-Authentifizierung zu umgehen und jedem Benutzer zu erlauben, Anfragen an Ihre Funktion zu stellen, setzten Sie dies aufNONE
.-
(Optional)
Cors
– Definiert die CORS-Einstellungen für Ihre Funktions-URL. Verwenden SieCors
die folgende Syntax CloudFormation, um IhrerAWS::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:Funktionsname –
my-function
.Funktions-ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
.Partiellet ARN –
123456789012: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)
CORS-Header | CORS-Konfigurationseigenschaft | Beispielwerte |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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, ist das erwartete Verhalten abhängig vom Typ der Anfrage:
-
Bei Preflight-Anfragen wie OPTIONS-Anfragen haben die konfigurierten CORS-Header auf der Funktions-URL Vorrang. Lambda gibt nur diese CORS-Header in der Antwort zurück.
-
Bei Nicht-Preflight-Anforderungen wie GET- oder POST-Anforderungen gibt Lambda sowohl die konfigurierten CORS-Header der Funktions-URL als auch die von der Funktion zurückgegebenen CORS-Header zurück. Dies kann zu doppelten CORS-Header 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 auf der Funktions-URL zu konfigurieren, 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 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 für eine Funktion.
Funktion wird deaktiviert 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.
Funktion löschen 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.
-
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie den Namen einer Funktion aus.
-
Wählen Sie die Registerkarte Konfiguration und dann Funktions-URL.
-
Wählen Sie Löschen.
-
Geben Sie den Ausdruck delete (löschen) in das Feld ein, um den Löschvorgang zu bestätigen.
-
Wählen Sie Löschen.
Anmerkung
Wenn Sie eine Funktion löschen, die eine Funktions-URL hat, löscht Lambda asynchron die Funktions-URL. Wenn Sie sofort eine neue Funktion mit demselben Namen im selben Konto erstellen, ist es möglich, dass die ursprüngliche Funktions-URL auf die neue Funktion abgebildet wird, anstatt gelöscht zu werden.