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.
Aufrufen einer Lambda-Funktion
Die Lambda-Aktion ruft Ihren Code über eine Lambda-Funktion auf und benachrichtigt Sie optional über Amazon SNS. Diese Aktion umfasst die folgenden Optionen und Anforderungen.
Optionen
-
Lambda-Funktion – ARN der Lambda-Funktion. Ein Beispiel für einen Lambda-Funktions-ARN ist arn:aws:lambda:us-east-1:account-id:function:. MyFunction
-
Invocation type – Der Aufruftyp der Lambda-Funktion. Ein Aufruftyp von bedeutet, dass die Ausführung der Funktion zu einer sofortigen Antwort führt. RequestResponse Eine Aufruftyp Event (Ereignis) bedeutet, dass die Funktion asynchron aufgerufen wird. Wir empfehlen, den Aufruftyp Event (Ereignis) zu verwenden, es sei denn, für Ihren Anwendungsfall ist die synchrone Ausführung notwendig.
Für den Aufruf von RequestResponse gibt es eine Zeitverzögerung von 30 Sekunden.
Weitere Informationen finden Sie unter Aufrufen von Lambda mit Step Functions im AWS Lambda -Entwicklerhandbuch.
-
SNS-Thema – Der Name oder ARN des Amazon-SNS-Themas, das benachrichtigt werden soll, wenn die angegebene Lambda-Funktion ausgelöst wird. Ein Beispiel für einen Amazon SNS SNS-Themen-ARN ist arn:aws:sns:us-east - 1:123456789012:. MyTopic Weitere Informationen finden Sie unter Amazon SNS-Thema anlegen im Amazon Simple Notification Service-Entwicklerhandbuch.
Voraussetzungen
-
Die Lambda-Funktion, die Sie auswählen, muss sich in derselben AWS Region befinden wie der Amazon SES SES-Endpunkt, den Sie für den Empfang von E-Mails verwenden.
-
Das von Ihnen Amazon SNS SNS-Thema muss sich in derselben AWS Region befinden wie der Amazon SES SES-Endpunkt, den Sie für den E-Mail-Empfang verwenden.
Schreiben Ihrer Lambda-Funktion
Zum Verarbeiten Ihrer E-Mail kann Ihre Lambda-Funktion asynchron aufgerufen werden (d. h. mit dem Event
-Aufruftyp). Das an Ihre Lambda-Funktion übergebene "Event"-Objekt enthält Metadaten zum eingehenden E-Mail-Ereignis. Sie können auch die Metadaten für den Zugriff auf den Nachrichteninhalt aus Ihrem Amazon-S3-Bucket verwenden.
Wenn Sie den Nachrichtenfluss wirklich kontrollieren möchten, muss Ihre Lambda-Funktion synchron aufgerufen werden (d. h. mit dem RequestResponse
-Aufruftyp) und Ihre Lambda-Funktion muss die callback
Methode mit zwei Argumenten aufrufen: Das erste Argument lautet null
und das zweite ist eine disposition
-Eigenschaft, die auf STOP_RULE
, STOP_RULE_SET
oder CONTINUE
eingestellt ist. Wenn das zweite Argument null
ist oder keine gültige disposition
-Eigenschaft besitzt, wird der Nachrichtenfluss fortgesetzt und weitere Aktionen und Regeln werden verarbeitet. Dies entspricht dem Ablauf von CONTINUE
.
Sie können beispielsweise den Empfangsregelsatz stoppen, indem Sie die folgende Zeile an das Ende des Lambda-Funktionscodes setzen:
callback( null, { "disposition" : "STOP_RULE_SET" });
AWS Lambda Codebeispiele finden Sie unterBeispiele für Lambda-Funktionen. Beispiele für allgemeine Anwendungsfälle finden Sie unter Beispielanwendungsfälle.
Eingabeformat
Amazon SES übergibt Informationen an die Lambda Funktion im JSON-Format. Das Objekt auf oberster Ebene enthält ein Records
-Array, das mit Eigenschaften eventSource
, eventVersion
und ses
gefüllt ist. Das ses
-Objekt enthält receipt
- und mail
-Objekte, die das gleiche Format wie die in Benachrichtigungsinhalte beschriebenen Amazon-SNS-Benachrichtigungen aufweisen.
Die Daten, die Amazon SES an Lambda übergibt, enthalten Metadaten zur Nachricht sowie mehrere E-Mail-Header. Sie enthalten jedoch nicht den Text der Nachricht.
Im Folgenden finden Sie eine allgemeine Übersicht über die Struktur der Eingabe, die Amazon SES für die Lambda-Funktion bereitstellt.
{ "Records": [ { "eventSource": "aws:ses", "eventVersion": "1.0", "ses": { "receipt": { <same contents as SNS notification> }, "mail": { <same contents as SNS notification> } } } ] }
Rückgabewerte
Ihre Lambda-Funktion kann den Nachrichtenfluss kontrollieren, indem einer der folgenden Werte zurückgegeben wird:
-
STOP_RULE
– Es werden keine weiteren Aktionen in der aktuellen Empfangsregel, jedoch weitere Empfangsregeln verarbeitet. -
STOP_RULE_SET
– Es werden keine weiteren Aktionen oder Empfangsregeln verarbeitet. -
CONTINUE
oder ein anderer ungültiger Wert – Das bedeutet, dass weitere Aktionen und Empfangsregeln verarbeitet werden können.