Es sei denn, etwas hat sich verändert, die Frage, ob es sinnvoller ist, SNS → Lambda oder SNS → SQS → Lambda, ist mit einem erheblichen Fehler auf einer Prämisse zu implementieren basiert.
Wie in Supported Event Sources in der Lambda-Dokumentation angegeben, Lambda Ereignisse können von S3, DynamoDB, Kinesis, SNS, SES, Cognito, Cloudformation, Cloudwatch & Events (einschließlich Geplante Ereignisse), AWS Config, Amazon Echo bezogen werden, und API-Gateway.
Und natürlich können Sie sie direkt aufrufen.
SQS ist jedoch keine unterstützte Lambda-Ereignisquelle.
Sie sind richtig und ich entschuldige mich für Miss Aussage über direkte Trigger, Lambda im Falle der Warteschlange würde Abfrage mit einem Zeitplan Lambda erfordern. Aber ich denke, ich suche, wie erhalten Sie mindestens einmal Lieferung mit SNS zu Lambda – tafaju
@ tafaju SNS wird immer eine abonnierte Lambda-Funktion aufrufen. Wenn Ihre Lambda-Funktion nicht erfolgreich abgeschlossen wird, wird sie bis zu zweimal wiederholt. Aber deine Lambda-Funktion wird immer mindestens einmal aufgerufen. Mit SNS zu Lambda ist der Nachteil, dass es kein Konzept für eine Warteschlange für nicht zustellbare Nachrichten gibt. Wenn Ihre Lambda-Funktion dreimal für dieselbe SNS-Nachricht abläuft, haben Sie diese Daten einfach auf den Boden fallen lassen. Keine Möglichkeit, sich zu erholen. – idbehold
@idbehold ist richtig. Eine Umgehungslösung zur Vermeidung von Datenverlusten, wenn Three-Sikes-Fehler die Verarbeitung der Ereignisse verhindern, besteht darin, dass ein SNS-Thema sowohl an Lambda als auch an SQS weitergeleitet wird und die Nachrichten normalerweise einfach ablaufen und automatisch aus der SQS-Warteschlange gelöscht werden, sofern keine Lambda-Fehler vorliegen protokolliert. In diesem Fall könnte ein Bereinigungsprozess die eingereihten Nachrichten überprüfen. Ich habe ein S3> SNS> Lambda-Setup, das dies tut. Die Lambda-Funktion gibt manchmal Fehler aus, wenn S3 während einer großen Anzahl von Überschreibungen vorhandener Objekte eine der "möglicherweise konsistenten" Stimmungen ist. Dies ist also mein Fallback-Plan. –