Ich habe ein Lambda, das ausgeführt wird, wenn ein Objekt in S3 erstellt wird, in einigen Fällen muss ich dieses Lambda neu planen, etwa 15 Minuten später.AWS Wie kann ein S3-Lambda-Ereignis neu geplant werden?
Wenn mein Lambda zum zweiten Mal ausgeführt wird, muss ich das gleiche Ereignisargument haben, ich kümmere mich nicht um andere Felder als der Eimer und Pfad. event.Records[0].s3.bucket.name
event.Records[0].s3.object.key
. Aber es ist einfach, dasselbe zu haben event
Meine Alternative ist, diese Daten in Dynamo zu speichern und ein anderes Lambda zu haben, das von dort jede 15 Minuten liest (schrecklich).
Aber es wird netter sein, meine aktuelle Funktion einfach neu zu planen und dieselben Argumente zu übergeben. Etwas wie folgt aus:
exports.handler = (event, context, callback) => {
if(xyz)
reschedule(15 * 1000 * 60, 'ThisLambdaName', event, context);
}
So etwas wie SetTimeout aber ohne AWS mich für diese 15 Minuten Lade lol.
Vielen Dank für Ihre Antwort, ich war Hopping eine Alternative gibt es Dynamo zu verwenden oder die Daten von mir zu sparen und tun es gerade weiter nach vorne, aber scheint keinen Weg. –
Es gibt. Aber Sie müssen es aktiv überprüfen (z. B. alle 15 Minuten), wie Sie erwähnt haben. – dashmug