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.
Invoke
Ruft eine Lambda-Funktion auf. Sie können eine Funktion synchron (und auf die Antwort warten) oder asynchron aufrufen. Standardmäßig ruft Lambda Ihre Funktion synchron auf (InvocationType
ist also RequestResponse
). Um eine Funktion asynchron aufzurufen, setzen Sie InvocationType
auf Event
. Lambda übergibt das ClientContext
-Objekt nur bei synchronen Aufrufen an Ihre Funktion.
Beim synchronen Aufruf sind Details zur Funktionsantwort, einschließlich Fehlern, im Antworttext und in den Headern enthalten. Für beide Aufruftypen finden Sie weitere Informationen im Ausführungsprotokoll und im Trace.
Wenn ein Fehler auftritt, kann Ihre Funktion mehrmals aufgerufen werden. Das Wiederholungsverhalten variiert je nach Fehlertyp, Client, Ereignisquelle und Aufruftyp. Wenn Sie beispielsweise eine Funktion asynchron aufrufen und sie einen Fehler zurückgibt, führt Lambda die Funktion noch bis zu zweimal aus. Weitere Informationen finden Sie unter Fehlerbehandlung und automatische Wiederholungen in Lambda.
Beim asynchronen Aufruf fügt Lambda Ereignisse zu einer Warteschlange hinzu, bevor sie an Ihre Funktion gesendet werden. Wenn Ihre Funktion nicht genügend Kapazität hat, um mit der Warteschlange Schritt zu halten, können Ereignisse verloren gehen. Gelegentlich kann Ihre Funktion das gleiche Ereignis mehrmals erhalten, auch wenn kein Fehler auftritt. Um nicht verarbeitete Ereignisse beizubehalten, konfigurieren Sie Ihre Funktion mit einer Warteschlange für unzustellbare Nachrichten.
Der Statuscode in der API-Antwort spiegelt keine Funktionsfehler wider. Fehlercodes sind für Fehler reserviert, die die Ausführung Ihrer Funktion verhindern, z. B. Berechtigungsfehler, Kontingent-Fehler oder Probleme mit dem Code und der Konfiguration Ihrer Funktion. Lambda gibt beispielsweise TooManyRequestsException
zurück, wenn die Ausführung der Funktion dazu führen würde, dass Sie ein Gleichzeitigkeitslimit auf Kontoebene (ConcurrentInvocationLimitExceeded
) oder Funktionsebene (ReservedFunctionConcurrentInvocationLimitExceeded
) überschreiten würden.
Bei Funktionen mit langer Zeitüberschreitung wird Ihr Client möglicherweise während des synchronen Aufrufs getrennt, während er auf eine Antwort wartet. Konfigurieren Sie HTTP-Client, SDK, Firewall, Proxy oder Betriebssystem so, dass lange Verbindungen mit Timeout- oder Keepalive-Einstellungen möglich sind.
Diese Operation erfordert die Berechtigung für die Aktion lambda:InvokeFunction . Weitere Informationen zum Einrichten von Berechtigungen für kontoübergreifende Aufrufe finden Sie unter Gewähren des Funktionszugriffs für andere Konten.
Anforderungssyntax
POST /2015-03-31/functions/FunctionName
/invocations?Qualifier=Qualifier
HTTP/1.1
X-Amz-Invocation-Type: InvocationType
X-Amz-Log-Type: LogType
X-Amz-Client-Context: ClientContext
Payload
URI-Anfrageparameter
Die Anforderung verwendet die folgenden URI-Parameter.
- ClientContext
-
Bis zu 3 583 Byte base64-codierter Daten über den aufrufenden Client, die an die Funktion im Kontextobjekt übergeben werden. Lambda übergibt das
ClientContext
-Objekt nur bei synchronen Aufrufen an Ihre Funktion. - FunctionName
-
Der Name der Lambda-Funktion, der Version oder des Alias.
Name Formate
-
Funktionsname –
my-function
(nur Name),my-function:v1
(mit Alias). -
Funktions-ARN –
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
Partielle ARN –
123456789012:function:my-function
.
Sie können an jedes der Formate eine Versionsnummer oder einen Alias anhängen. Die Längenbeschränkung gilt nur für den gesamten ARN. Wenn Sie nur den Funktionsnamen angeben, ist dieser auf 64 Zeichen begrenzt.
Längenbeschränkungen: Minimale Länge von 1. Höchstlänge = 170 Zeichen.
Pattern:
(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
Erforderlich: Ja
-
- InvocationType
-
Wählen Sie aus den folgenden Optionen aus.
-
RequestResponse
(Standard) – Ruft die Funktion synchron auf. Lassen Sie die Verbindung geöffnet, bis die Funktion eine Antwort zurückgibt oder das Zeitlimit überschritten wird. Die API-Antwort enthält die Funktionsantwort und zusätzliche Daten. -
Event
– Ruft die Funktion asynchron auf. Senden Sie Ereignisse, die mehrmals fehlschlagen, an die Warteschlange für unzustellbare Nachrichten der Funktion (falls eine konfiguriert ist). Die API-Antwort enthält nur einen Statuscode. -
DryRun
– Validieren Sie Parameterwerte und vergewissern Sie sich, dass der Benutzer oder die Rolle berechtigt ist, die Funktion aufzurufen.
Zulässige Werte:
Event | RequestResponse | DryRun
-
- LogType
-
Auf
Tail
setzen, um das Ausführungsprotokoll in die Antwort einzuschließen. Gilt nur für synchron aufgerufene Funktionen.Zulässige Werte:
None | Tail
- Qualifier
-
Geben Sie eine Version oder einen Alias an, um eine veröffentlichte Version der Funktion aufzurufen.
Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 128 Zeichen.
Pattern:
(|[a-zA-Z0-9$_-]+)
Anforderungstext
Die Anfrage akzeptiert die folgenden Binärdaten.
- Payload
-
JSON zum Bereitstellen Ihrer Lambda-Funktion als Eingabe.
Sie können das JSON direkt eingeben. Zum Beispiel
--payload '{ "key": "value" }'
. Sie können auch einen Dateipfad angeben. Beispiel:--payload file://payload.json
Antwortsyntax
HTTP/1.1 StatusCode
X-Amz-Function-Error: FunctionError
X-Amz-Log-Result: LogResult
X-Amz-Executed-Version: ExecutedVersion
Payload
Antwortelemente
Wenn die Aktion erfolgreich ist, sendet der Dienst die folgende HTTP-Antwort zurück.
- StatusCode
-
Der HTTP-Statuscode befindet sich im 200-Bereich für eine erfolgreiche Anfrage. Für den
RequestResponse
-Aufruftyp lautet der Statuscode 200. Für denEvent
-Aufruftyp lautet der Statuscode 202. Für denDryRun
-Aufruftyp lautet der Statuscode 204.
Die Antwort gibt die folgenden HTTP-Header zurück.
- ExecutedVersion
-
Die Version der Funktion, die gerade ausgeführt wird. Wenn Sie eine Funktion mit einem Alias aufrufen, gibt dies an, in welche Version der Alias aufgelöst wurde.
Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 1024 Zeichen.
Pattern:
(\$LATEST|[0-9]+)
- FunctionError
-
Falls vorhanden, bedeutet dies, dass während der Funktionsausführung ein Fehler aufgetreten ist. Details zum Fehler sind in der Antwortnutzlast enthalten.
- LogResult
-
Die letzten 4 KB des Ausführungsprotokolls, das base64-codiert ist.
Die Antwort gibt folgendes als HTTP-Hauptteil zurück.
- Payload
-
Die Antwort von der Funktion oder ein Fehlerobjekt.
Fehler
Weitere Informationen zu den allgemeinen Fehlern, die bei allen Aktionen zurückgegeben werden, finden Sie unter Häufige Fehler.
- EC2AccessDeniedException
-
Benötigen Sie zusätzliche Berechtigungen zum Konfigurieren von VPC-Einstellungen.
HTTP-Statuscode: 502
- EC2ThrottledException
-
Amazon EC2 hat AWS Lambda während der Lambda-Funktionsinitialisierung unter Verwendung der für die Funktion bereitgestellten Ausführungsrolle gedrosselt.
HTTP-Statuscode: 502
- EC2UnexpectedException
-
AWS Lambda hat beim Einrichten der Lambda-Funktion eine unerwartete Amazon-EC2-Client-Ausnahme erhalten.
HTTP-Statuscode: 502
- EFSIOException
-
Beim Lesen oder Schreiben in ein angeschlossenes Dateisystem ist ein Fehler aufgetreten.
HTTP-Statuscode: 410
- EFSMountConnectivityException
-
Die Lambda-Funktion konnte keine Netzwerkverbindung zum konfigurierten Dateisystem herstellen.
HTTP-Statuscode: 408
- EFSMountFailureException
-
Die Lambda-Funktion konnte das konfigurierte Dateisystem aufgrund eines Berechtigungs- oder Konfigurationsproblems nicht mounten.
HTTP Status Code: 403
- EFSMountTimeoutException
-
Die Lambda-Funktion hat eine Netzwerkverbindung zum konfigurierten Dateisystem hergestellt, aber beim Mount-Vorgang ist das Zeitlimit überschritten.
HTTP-Statuscode: 408
- ENILimitReachedException
-
AWS Lambda konnte keine Elastic-Network-Schnittstelle in der VPC erstellen, die als Teil der Lambda-Funktionskonfiguration angegeben wurde, da das Limit für Netzwerkschnittstellen erreicht wurde. Weitere Informationen finden Sie unter Lambda-Kontingente.
HTTP-Statuscode: 502
- InvalidParameterValueException
-
Einer der Parameter in der Anfrage ist ungültig.
HTTP Status Code: 400
- InvalidRequestContentException
-
Der Anforderungstext konnte nicht als JSON analysiert werden.
HTTP Status Code: 400
- InvalidRuntimeException
-
Die angegebene Laufzeit oder Laufzeitversion wird nicht unterstützt.
HTTP-Statuscode: 502
- InvalidSecurityGroupIDException
-
Die in der VPC-Konfiguration der Lambda-Funktion angegebene Sicherheitsgruppen-ID ist ungültig.
HTTP-Statuscode: 502
- InvalidSubnetIDException
-
Die in der VPC-Konfiguration der Lambda-Funktion angegebene Subnetz-ID ist ungültig.
HTTP-Statuscode: 502
- InvalidZipFileException
-
AWS Lambda konnte das Bereitstellungspaket nicht entpacken.
HTTP-Statuscode: 502
- KMSAccessDeniedException
-
Lambda konnte die Umgebungsvariablen nicht entschlüsseln, da der AWS KMS-Zugriff verweigert wurde. Überprüfen Sie die KMS-Berechtigungen der Lambda-Funktion.
HTTP-Statuscode: 502
- KMSDisabledException
-
Lambda konnte die Umgebungsvariablen nicht entschlüsseln, da das verwendete AWS KMS key deaktiviert ist. Überprüfen Sie die Einstellungen des KMS-Schlüssels der Lambda-Funktion.
HTTP-Statuscode: 502
- KMSInvalidStateException
-
Lambda konnte die Umgebungsvariablen nicht entschlüsseln, da der Status des verwendeten AWS KMS key für Decrypt nicht gültig ist. Überprüfen Sie die KMS-Schlüsseleinstellungen der Funktion.
HTTP-Statuscode: 502
- KMSNotFoundException
-
Lambda konnte die Umgebungsvariablen nicht entschlüsseln, da AWS KMS key nicht gefunden wurde. Überprüfen Sie die KMS-Schlüsseleinstellungen der Funktion.
HTTP-Statuscode: 502
- RecursiveInvocationException
-
Lambda hat erkannt, dass Ihre Funktion in einer rekursiven Schleife mit anderen AWS-Ressourcen aufgerufen wird, und den Aufruf Ihrer Funktion gestoppt.
HTTP Status Code: 400
- RequestTooLargeException
-
Die Anfragenutzlast hat das JSON-Eingabekontingent des
Invoke
-Anfragetexts überschritten. Weitere Informationen finden Sie unter Lambda-Kontingente.HTTP-Statuscode: 413
- ResourceConflictException
-
Die Ressource ist bereits vorhanden, oder ein anderer Vorgang ist im Gange.
HTTP-Statuscode: 409
- ResourceNotFoundException
-
Die in der Anforderung angegebene Ressource ist nicht vorhanden.
HTTP Status Code: 404
- ResourceNotReadyException
-
Die Funktion ist inaktiv und ihre VPC Verbindung ist nicht mehr verfügbar. Warten Sie, bis die VPC Verbindung wieder hergestellt wurde und versuchen Sie es erneut.
HTTP-Statuscode: 502
- ServiceException
-
Beim Service AWS Lambda trat ein interner Fehler auf.
HTTP Status Code: 500
- SnapStartException
-
Beim
afterRestore()
-Laufzeit-Hook ist ein Fehler aufgetreten. Weitere Informationen finden Sie in den Amazon- CloudWatch Protokollen.HTTP Status Code: 400
- SnapStartNotReadyException
-
Lambda initialisiert Ihre Funktion. Sie können die Funktion aufrufen, wenn sich der Funktionsstatus auf
Active
ändert.HTTP-Statuscode: 409
- SnapStartTimeoutException
-
Lambda konnte den Snapshot nicht innerhalb des Timeout-Limits wiederherstellen.
HTTP-Statuscode: 408
- SubnetIPAddressLimitReachedException
-
AWS Lambda konnte den VPC-Zugriff für die Lambda-Funktion nicht einrichten, da eines oder mehrere konfigurierte Subnetze keine verfügbaren IP-Adressen haben.
HTTP-Statuscode: 502
- TooManyRequestsException
-
Der Durchsatz einer Anforderung wurde überschritten. Weitere Informationen finden Sie unter Lambda-Kontingente.
HTTP-Statuscode: 429
- UnsupportedMediaTypeException
-
Der Inhaltstyp des
Invoke
-Anforderungstaxts ist nicht JSON.HTTP-Statuscode: 415
Weitere Informationen finden Sie unter:
Weitere Informationen zur Verwendung dieser API in einem der sprachspezifischen AWS-SDKs finden Sie unter: